代码之家  ›  专栏  ›  技术社区  ›  Bjorn

从Gecko中的字符串创建文档

  •  2
  • Bjorn  · 技术社区  · 16 年前

    我有一根绳子,比如 <html><body><div id="message">Hello World!</div></body></html> 我希望在不分析HTML的情况下获取消息元素的内容。

    我想也许我可以用gecko中的字符串创建一个文档对象(这是一个firefox插件),但我看不出任何简单的方法。

    我注意到有一个 createDocument 方法,但不需要字符串。我得脱掉 <html> 一部分来自文本,然后我又开始假设一些东西。

    有人有什么想法吗?谢谢。

    编辑:这似乎对我有用:

    doc = document.implementation.createDocument( "http://www.w3.org/1999/xhtml", "html", null );
    doc.firstChild.innerHTML = '<html><body><div id="message">Hello World!</div></body></html>';
    node = doc.getElementById( "message" ); 
    alert( node.innerHTML );
    
    3 回复  |  直到 16 年前
        1
  •  2
  •   Nickolay    16 年前

    你从哪里弄到绳子的?如果它是XML,您可以不必使用 DOMParser .

    否则,您必须创建一个HTML文档- https://developer.mozilla.org/en/Parsing_HTML_From_Chrome .

    只是使用 createDocument 工作看起来可疑,因为人们一直在使用更复杂的解决方案。

        2
  •  3
  •   Bjorn    16 年前

    不喜欢回答我自己的问题,但这似乎对我有帮助:

    doc = document.implementation.createDocument( "http://www.w3.org/1999/xhtml", "html", null );
    doc.firstChild.innerHTML = '<html><body><div id="message">Hello World!</div></body></html>';
    node = doc.getElementById( "message" ); 
    alert( node.innerHTML );
    
        3
  •  0
  •   Adam Bard    16 年前

    总是这样吗?如果是,为什么不使用regex?