javascript - 使用 JavaScript 检查 XML 错误

标签 javascript xml dom

问题:如何在现代浏览器(除 IE 之外的任何浏览器)中对我的 XML 进行语法检查?

我看过 a page on W3Schools其中包括一个 XML 语法检查器。我不知道它是如何工作的,但我想知道如何实现相同的行为。

我已经对此事进行了多次搜索(没有成功),并且我尝试使用 DOM 解析器检查我的 XML 是否“格式正确”(也没有成功)。

var xml = 'Caleb';
var parser = new DOMParser();
var doc = parser.parseFromString(xml, 'text/xml');

我希望解析器告诉我我有一个 XML 语法错误(即未闭合的 name 标记)。但是,它总是返回一个 XML DOM 对象,就好像根本没有错误一样。

总而言之,我想知道如何使用 JavaScript 自动检查 XML 文档的语法。

附言有什么方法可以根据 DTD 验证 XML 文档(使用 JS,而不是 IE)?

最佳答案

编辑:这是一个更简洁的例子,来自MDN :

var xmlString = '<a id="a"><b id="b">hey!</b></a>';
var domParser = new DOMParser();
var dom = domParser.parseFromString(xmlString, 'text/xml');

// print the name of the root element or error message
dump(dom.documentElement.nodeName == 'parsererror' ? 'error while parsing' : dom.documentElement.nodeName);

关于javascript - 使用 JavaScript 检查 XML 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6334119/

相关文章:

javascript - 不稳定行为加载 2 个 JSON 事件源(一个必须是后台事件)

javascript - window.open,chrome 将窗口带回调用双屏设置中的窗口屏幕

javascript - 在事件回调函数中获取最新的 prop

c# - 用于选择节点的 XPath 查询

Javascript document.getElementById ("id").value 在元素为空文本框时返回 null 而不是空字符串

javascript - 为了让函数一 "know"对函数二中发生的事情使用react,参数是如何参与的?

c# - 将具有多个 namespace 的 XML 反序列化为对象

json - JSON 的 xpath 与 XML 不同

javascript - 如何从 jQuery 中的父项中选择所有子项(任何级别)?

javascript - 仅在加载 DOM 时应用插件