使用jQuery.parseXML(数据)进行XML验证

时间:2012-08-22 13:12:51

标签: jquery xml xml-validation

我想问一下是否可以使用jQuery.parseXML(data)来验证XML字符串?

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

我已经尝试使用Google搜索,但我发现的只是解析,而不是验证。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

在IE的情况下,使用loadXML在http://msdn.microsoft.com/en-us/library/windows/desktop/ms754585%28v=vs.85%29.aspx处声明,“您不能使用它来根据模式验证XML文档。”,显然jQuery中使用的代码{{3} }也不会验证。

然而,http://code.jquery.com/jquery-latest.js的一些代码似乎暗示它可以在IE(仅)中使用正确的IE - 至少使用4.0版本的Msxml2.DOMDocument - 因为根据http://www.stylusstudio.com/xsllist/200301/post50460.html ,“如果在文档中指定了任何一个,MSXML解析器将根据DTD或模式验证您的文档”(除非validateOnParse属性设置为false)。

然而,对于Mozilla和其他浏览器,这些不执行验证(我认为他们在Ajax的DOMParser()的情况下加载了外部DTD,但这似乎对我现在不起作用,并且无论如何甚至实体也没有加载到常规网站中。)

我不记得http://msdn.microsoft.com/en-us/library/aa468547.aspx#beginner_failurehttp://code.google.com/p/jssaxparser/是否支持外部验证,但我认为你需要走这条路。

您需要使用XML吗?也许JSONSchema可以满足您的需求? http://debeissat.nicolas.free.fr/relaxng.php