使用包含冒号/名称空间的元素解析XML
在Google Apps脚本中使用Xml解析Xml文档: 但是,如果元素名中有冒号,则这不起作用(解析失败)。 尽管它可能是名称空间,但它在整个XML文档中都是一个名称空间使用包含冒号/名称空间的元素解析XML,xml,google-apps-script,xml-namespaces,Xml,Google Apps Script,Xml Namespaces,在Google Apps脚本中使用Xml解析Xml文档: 但是,如果元素名中有冒号,则这不起作用(解析失败)。 尽管它可能是名称空间,但它在整个XML文档中都是一个名称空间 <aws:elementname>...</aws:elementname> 。。。 这仅仅是谷歌的Xml的问题还是通用的问题?这绝对不是一个通用的问题。当然也有处理名称空间的XML解析器 我怀疑这是教程代码的一个限制,google库实际上可以处理名称空间,但从API文档来看,这有点像猜测 教程
<aws:elementname>...</aws:elementname>
。。。
这仅仅是谷歌的Xml的问题还是通用的问题?这绝对不是一个通用的问题。当然也有处理名称空间的XML解析器 我怀疑这是教程代码的一个限制,google库实际上可以处理名称空间,但从API文档来看,这有点像猜测 教程代码使用如下调用
var movies = doc.html.head.getElements("movie");
这似乎是一个不支持名称空间的版本
此方法还有一个重载,它也采用名称空间URL,如果涉及名称空间,则可能需要使用该URL。如果要使用某个名称空间,必须首先声明它。例如:
<root xmlns:aws="some-uri">
<aws:elementname />
</root>
只是不要将参数作为true发送
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的XML类能够识别名称空间,那么它不应该解析失败。我以“培根的Oracle”为例,在所有元素中添加了(在每个元素前面添加)aws:,但失败了。当您添加aws:时,是否也为其添加了名称空间声明?此XML实际上是Amazon的AWIS,以:>“这个方法有一个重载,它也接受一个名称空间URL,如果涉及名称空间,您可能需要使用它”-这在解析级别失败。var oXML=Xml.parse(content);