角度6中的“窗口”类型上不存在属性“ XMLSerializer”

时间:2019-04-24 14:15:33

标签: angular xmlserializer

如何在角度6中添加参考窗口参考。

我有以下代码,由于属性“ XMLSerializer”在“窗口”类型上不存在,因此引发以下错误

serializeXmlNode(xmlNode) {
    if (typeof window.XMLSerializer != "undefined") {
      return (new window.XMLSerializer()).serializeToString(xmlNode);
    } else if (typeof xmlNode.xml != "undefined") {
      return xmlNode.xml;
    }
    return "";
  }

如何在angular 6中添加对Windows.xmlserializer的引用?

1 个答案:

答案 0 :(得分:0)

好吧,一种快速的肮脏方法是将窗口投射到 any

serializeXmlNode(xmlNode) {
    if (typeof **(<any>window)**.XMLSerializer != "undefined") {
        return (new **(<any>window)**.XMLSerializer()).serializeToString(xmlNode);
    } else if (typeof **(<any>xmlNode)**.xml != "undefined") {
        return **(<any>xmlNode)**.xml;
    }
    return "";
}

我也强制转换了xmlNode,所以没有关于Node没有名为xml的属性的抱怨。

也许可以通过添加到Window界面来实现此目的的更好方法,但是我还没有做到这一点。