到目前为止,我已经阅读了答案,DOMParser无法处理不完整的(并且因为格式不正确)XML数据。
由于所有主流浏览器都可以处理错误的html源码,我只是想知道是否可以使用解决方法让浏览器解释格式不正确的XML数据。
例如,通过在数据的开头放置一个带有ATTLIST的手动编写的DOCTYPE标记,然后告诉浏览器在隐藏的框架中解释它,然后使用生成的dom-tree?
是否有内置的方法可以在最新的Firefox中解析Javascript中不完整的xml文本?
或
DOCTYPE和ADDLIST的外观如何,如果在数据中有未知标记,例如<mytag>
,其属性如nr="..."
和date="..."?
以及<anothertag>
都带有属性例如nr="..."
和upto="..."?
答案 0 :(得分:1)
只需使用DOMParser。
function parseFragment(fragment) {
var parser = new DOMParser(),
doc = parser.parseFromString(fragment, "text/html");
return doc.getElementsByTagName("body")[0];
}
和
var root = parseFragment('<foo><bar some="thing"><baz></bar>');
console.log(root.getElementsByTagName("bar")[0].getAttribute("some"));
// -> "thing"