0

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

但是如果元素名称中有冒号,这不起作用(解析失败)。尽管它可能是名称空间,但它是整个 XML 文档中的单个名称空间。

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

这只是谷歌的 Xml 的问题还是通用的?

4

3 回答 3

1

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

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");
于 2010-12-06T06:17:27.667 回答
0

这绝对不是一个普遍的问题。当然有处理名称空间的 XML 解析器。

我怀疑这是教程代码的限制,谷歌库实际上可以处理命名空间,但从查看 API 文档来看有点猜测。

教程代码正在使用类似的调用

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

这似乎是一个非命名空间感知版本。

此方法有一个重载,它也采用命名空间 URL,如果涉及命名空间,您可能需要使用它。

于 2010-11-27T21:24:51.650 回答
0

如果你想使用一些命名空间,你必须先声明它。例如:

<root xmlns:aws="some-uri">
  <aws:elementname />
</root>
于 2010-11-28T18:40:15.300 回答