2010-10-01 67 views
0

是否可以检查是否装有xmlDoc.loadXML(XMLDATA); xml字符串无效?例如,如果有错过的右括号或标签。Microsoft.XMLDOM JS问题

+0

嗯,是的,如果它是有效的,但我认为你的意思是*无效*你说*有效*。 – epascarello 2010-10-01 12:02:53

+0

@epascarello你是对的:)这是在我的脑海一团糟现在。 – bozhidarc 2010-10-01 12:55:57

回答

2

如果将字符串传递给loadXML这不是格式良好的XML文档,则文档对象将为空(没有childNodes),并且xmlDoc.parseError.errorCode将设置为0以外的其他值。 xmlDoc.parseError.reason会给你一个用户可读的错误信息。

如果要测试代码片段而不是完整文档,请将其包装在<x> ... </x>标记中,以便解析器只能看到一个根元素。

(有一些原因可能导致MSXML无法解析非格式正确的文档,例如外部DTD子集或实体可能无法通过网络访问,或者DTD可能使用MSXML功能因为这个原因你不能使用MSXML来解析XHTML文档,但是如果不涉及DTD-cruft,解析器失败意味着输入没有格式良好。)

+0

10倍@bobince我没有看到你回答:) – bozhidarc 2010-10-01 12:53:16

0

有关解析错误的所有信息都隐藏在“xmlDoc.parseError