使用XML在Google Apps脚本中解析XML文档:http://code.google.com/googleapps/appsscript/articles/xml_tutorial.html#howitworks

但是,如果元素名称中有结肠,则无效(解析失败)。即使它可能是名称空间,它在整个XML文档中都有一个单个名称空间。

<aws:elementname>...</aws:elementname>

这仅是Google XML的问题,还是通用?

有帮助吗?

解决方案

只是不要将论点作为真实。

var oXML = Xml.parse(sXML, false);
var root = oXML.getElement();
var topElement = root.getElements("http://namespace-uri","topElement");
var childElement = topElement[0].getElements("http://namespace-uri","childElement");

其他提示

这绝对不是一般问题。肯定有XML解析器处理名称空间。

我怀疑这是教程代码的限制,Google库实际上可以处理名称空间,但这是从查看API文档的某种猜测工作。

教程代码正在使用诸如

var movies = doc.html.head.getElements("movie");

这似乎是一个非Namespace-Aware版本。

此方法的过载也有一个命名空间URL,如果涉及命名空间,则可能需要使用。

如果要使用一些名称空间,则必须首先声明它。例如:

<root xmlns:aws="some-uri">
  <aws:elementname />
</root>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top