使用jQuery.parseXML(数据)进行XMLvalidation

我想问一下是否可以使用jQuery.parseXML(数据)来validationXML字符串?

我的意思是我知道它用于解析XML,如果XML无效,我将收到一条错误消息,但每次XML中都会出现轻微错误时函数是否会失败?

我已经尝试了谷歌搜索,但我发现的只是解析,而不是validation。

谢谢!

不,不是通过jQuery(至少不是在Mozilla,很可能是其他非IE浏览器)。

在IE的情况下,它在http://msdn.microsoft.com/en-us/library/windows/desktop/ms754585%28v=vs.85%29.aspx上说明 ,使用loadXML,“你不能使用它根据模式validationXML文档。“,显然, http://code.jquery.com/jquery-latest.js中jQuery中使用的代码也不会validation。

但是, http://www.stylusstudio.com/xsllist/200301/post50460.html上的一些代码似乎暗示它可以在IE(仅)中使用正确的IE – 至少使用4.0版本的Msxml2.DOMDocument – – 根据http://msdn.microsoft.com/en-us/library/aa468547.aspx#beginner_failure ,“如果在文档中指定了任何一个,MSXML解析器将根据DTD或模式validation您的文档”(除非validateOnParse属性设置为false)。

但是,对于Mozilla和其他浏览器,这些不执行validation(我认为它们在Ajax的DOMParser()的情况下加载了外部DTD,但这对我来说似乎不适用于现在,无论如何,甚至是实体没有加载到常规网站)。

我不记得http://code.google.com/p/jssaxparser/或http://debeissat.nicolas.free.fr/relaxng.php是否支持外部validation,但我认为你需要去在这种方向。

你需要使用XML吗? 也许JSONSchema可以满足您的需求? http://json-schema.org/implementations.html