1

有没有办法在用户选择的文件上使用 DOM 方法getElementById("id")getElementsByTagName("tag")

我的程序让用户选择一组以特定方式格式化的 HTML 文件,当将其视为一个大字符串时,这些文件有点难以搜索,但如果我可以使用 DOM 方法,那就很容易了。

我目前正在使用 HTML5 File API 来获取一个FileList和一个FileReader对象来解析文件并创建字符串。

是否可以使用 DOM 方法,或者是否有更好的方法来解析选定的 HTML 文件?像 JSoup 这样的库会很有帮助,JavaScript 中有类似的东西吗?

4

2 回答 2

0

如果你有文件的全文,你总是可以将它加载到一个 div 中,这将导致浏览器为所述文件生成 DOM。然后,您可以使用您描述的方法。

于 2013-08-09T17:39:13.580 回答
0

DOMParser根据 MDN,用作类型的兼容性不好,在提供 HTML 时text/html似乎仍然可以很好地解析。application/xml这是一个例子:

var parser = new DOMParser(),
    str = "<!DOCTYPE html><html><head><title>Test</title></head><body><div id='div1'>asdf</div></body></html>",
    doc = parser.parseFromString(str, "application/xml");

console.log(doc.getElementById("div1").textContent);

演示:http: //jsfiddle.net/8AzBp/1/

参考:

于 2013-08-09T17:39:15.237 回答