Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用包含冒号/名称空间的元素解析XML_Xml_Google Apps Script_Xml Namespaces - Fatal编程技术网

使用包含冒号/名称空间的元素解析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文档来看,这有点像猜测 教程

在Google Apps脚本中使用Xml解析Xml文档:

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

<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);