是否有内置方法在最新的Firefox中解析Javascript中不完整的xml文本?

时间:2015-03-14 14:11:18

标签: html xml firefox doctype dtd

到目前为止,我已经阅读了答案,DOMParser无法处理不完整的(并且因为格式不正确)XML数据。

由于所有主流浏览器都可以处理错误的html源码,我只是想知道是否可以使用解决方法让浏览器解释格式不正确的XML数据。
例如,通过在数据的开头放置一个带有ATTLIST的手动编写的DOCTYPE标记,然后告诉浏览器在隐藏的框架中解释它,然后使用生成的dom-tree?

是否有内置的方法可以在最新的Firefox中解析Javascript中不完整的xml文本?

DOCTYPE和ADDLIST的外观如何,如果在数据中有未知标记,例如<mytag>,其属性如nr="..."date="..."?以及<anothertag>都带有属性例如nr="..."upto="..."?

1 个答案:

答案 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"