【问题标题】:DOMParser Typescript- Parsing HTMLDOMParser Typescript - 解析 HTML
【发布时间】:2017-12-13 21:37:18
【问题描述】:

我在使用 DOMParser 时遇到了一些问题。我正在使用 IntelliJ IDE 并使用 Typescript 编写代码。

这是我的代码:

  public domparser = new DOMParser();
  this.domdoc = this.domparser.parseFromString(this.xmlDoc, 'text/xml');
  console.log("domdoc: " + this.domdoc);

我看到了 domdoc: [object XMLDocument] 在我的控制台中。

关于如何打印 XML 文档,而不仅仅是 '[object XMLDocument]' 有什么建议吗?

谢谢。

【问题讨论】:

    标签: angular typescript intellij-idea domparser


    【解决方案1】:

    您可以使用querySelector 和通配符* 来选择所有xml 元素。

     public domparser = new DOMParser();
     this.domdoc = this.domparser.parseFromString(this.xmlDoc, 'text/xml');
     let elements = this.domdoc.querySelectorAll("*");
     for (element of elements){
       console.log(element.innerHTML);
     }
    

    【讨论】:

    • 感谢您的快速回复。我得到 'domdoc: {"location":null}...这不是我想要的...
    • @MeenaMana,你想得到你的 xml 文件的确切文本消息吗?
    • 是的。 @edkeveked
    • @MeenaMana,能否请您提出您的问题 XML 内容?查询起来会更方便
    • 它是受版权保护的,所以我不能这样做......基本上它是一个程序名称列表。
    【解决方案2】:

    console.log("domdoc: " + this.domdoc); 这一行需要一些改动。请删除对象附加的字符串“domdoc:”。

    最终代码如下:

      public domparser = new DOMParser();  
      this.domdoc = this.domparser.parseFromString(this.xmlDoc, 'text/xml');
      console.log(this.domdoc);
    

    【讨论】:

      【解决方案3】:

      像第一个答案这样的循环不能在 Angular 11 中使用。

      这个不能用

      for (element of elements){
      }
      

      这个可以用

      let parsedXMLResponse = (new DOMParser()).parseFromString("some string value", "text/xml");
      let result = parsedXMLResponse.getElementsByTagName("<name of tag>");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-27
        • 2014-09-12
        • 1970-01-01
        • 1970-01-01
        • 2012-03-19
        • 2021-12-28
        • 1970-01-01
        相关资源
        最近更新 更多