校验xml的合法性


方法一:通过DTD文件

方法二:通过XSD文件

最后选用了方法二,原因如下:

· XML Schema 可针对未来的需求进行扩展

· XML Schema 更完善,功能更强大

· XML Schema 基于 XML 编写

· XML Schema 支持数据类型

· XML Schema 支持命名空间

 

太官方的理由。我用xsd的原因是:正在做的是web service 的项目,需要接受客户端传入的xml数据,可能会出现一下情况:

1.Xml格式错误

2.结点数据类型错误

3.数据不完整,结点数据为空

DTD不能很好的解决这些问题,所以用了XSD。用了一下午的时间熟悉基本的写法,第二天直接按xml的要求编写xsd文件。过程中遇到了一个问题:

xsd中提供的时间日期类型(dateTime)是这样的:YYYY-MM-DDThh:mm:ss

而我需要的是这样的:YYYY-MM-DD hh:mm:ss,也就是把T换成空格。百度了很多资料也不知道怎么解决,最后用的正则解决,暂时可用,不知道后面会不会出问题。

代码如下:


		
		
			
		
	


你可能感兴趣的:(XML)