对接收到的xml数据进行格式验证、数据完整性验证java
用dom4j,解析的代码写在try{}catch(Exception ex){}final{}中间,遇到异常的时候应该就是数据不完整
请教验证XML文件的完整性,格式良好以及有效性的一揽子解决方案
用schema验证的写法如下
————————————————————-
//生成schema模板
MSXML2::IXMLDOMSchemaCollection2Ptr m_pSchemaCollection;
m_pSchemaCollection.CreateInstance(__uuidof(MSXML2::XMLSchemaCache40));
CString offline = “sample.xsd”;
m_pSchemaCollection->add(_T(“”), offline.AllocSysString());
//生成dom
MSXML2::IXMLDOMDocument2Ptr m_objDOMDoc;
m_objDOMDoc.CreateInstance(__uuidof(MSXML2: OMDocument40));
m_objDOMDoc->schemas = pSchema.GetInterfacePtr();
m_objDOMDoc->resolveExternals = TRUE;
m_objDOMDoc->validateOnParse = TRUE;
m_objDOMDoc->async = FALSE;
m_objDOMDoc->Load(“sample.xml”)
//校验
MSXML2::IXMLDOMParseErrorPtr error;
error = m_objDOMDoc->validate();
//校验出错
if(error->errorCode != 0)
{
_bstr_t strerror = error->reason;
MessageBox(NULL,””,strerror,MB_OK);
}
.yml文件,编辑后,要检查语法是否有错误,怎么检查
点击工具菜单上的语法检查项目,自动进行检查
Schema怎么校验XML数据文件
一个简单的 XML 文档:
请看这个名为 “note.xml” 的 XML 文档:
<?xml version=”1.0″?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don’t forget the meeting!</body>
</note>
下面这个例子是一个名为 “note.xsd” 的 XML Schema 文件,它定义了上面那个 XML 文档的元素:
<?xml version=”1.0″?>
<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema”
targetNamespace=”http://www.w3school.com.cn”
xmlns=”http://www.w3school.com.cn”
elementFormDefault=”qualified”>
<xs:element name=”note”>
<xs:complexType>
<xs:sequence>
<xs:element name=”to” type=”xs:string”/>
<xs:element name=”from” type=”xs:string”/>
<xs:element name=”heading” type=”xs:string”/>
<xs:element name=”body” type=”xs:string”/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
对 XML Schema 的引用
此文件包含对 XML Schema 的引用:
<?xml version=”1.0″?>
<note
xmlns=”http://www.w3school.com.cn”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.w3school.com.cn note.xsd”>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don’t forget the meeting!</body>
</note>
java验证框架里YYYY-MM-DD HH24:mm:ss格式怎么验证
没太明白你要干嘛?就是要验证一个时间是否在系统时间之后1小时?
简单的写了一个类 你看一下……
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Solution {
//系统时间
Calendar system=new GregorianCalendar();
//这个是那个要比较的时间,我这里写死了,具体的根据你的情况拿到就可以了
Calendar my=new GregorianCalendar(2011,1,20,20,40,40); //2011年1月20日 20:40:40
public static void main(String[] args) {
System.out.println(new Solution().judge());
}
//判断方法
public boolean judge()
{
//将系统时间拨后一小时
system.set(Calendar.HOUR_OF_DAY,system.get(Calendar.HOUR_OF_DAY)+1);
//after方法进行比较
return my.after(system);
}
}
至于 怎么把 YYYY-MM-DD HH24:mm:ss 转成 Calendar 如下:
String s = new String(“2011-1-20 20:11:11”);
DateFormat f = new SimpleDateFormat(“yyyy-MM-DD HH:mm:ss”);
try {
Date d = (Date) f.parse(s);
Calendar c = new GregorianCalendar();
c.setTime(d);
} catch (ParseException ex) {
ex.printStackTrace();
}
建议楼主多用 Calendar 整个jdk下还是 Calendar健全一些 Date比较混乱
可以用用 IBM的 joda-time 不错的时间处理库……
Eclipse打开xml文件报校验错误怎么解决
eclipse打开xml文件报校验错误的解决方法 :1:严格按照提示上的顺序重新排列2:删除
websphere 怎样验证xml文件
确实是个问题,WAS和tomcat解析xml的方式是有所不同,我们这的代码里filter都是废掉不用的.因为开发人员是用tomcat开发的,而确是在WAS上发布出去的.我也是菜鸟一个,不懂太多,同样关注你的问题!
YML格式文件用什么程序编辑打开?
YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,他并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等.例如YML文件格式的用法: 文件,通常就是Ruby on Rails 用来保存连接数据库时使用的连接信息文件.
Minecraft修改.yml文件如何使得每行都有回车
你可以用右键,打开方式里面的写字板来打开,也可以去下载一个notepad++用来处理文本,这货会自动分行,还会标注出数字什么的,总之很好用
请教一下文件校验的问题
估计是正常现象,分碟一般头尾都有点问题,合并后就不存在了,机器不错就没有这么多MSK