使用XML在谷歌Apps腳本解析XML文檔中的元素: http://code.google.com/googleapps/appsscript/articles/XML_tutorial.html#HowItWorks解析XML包含結腸/命名空間
但是,這並不工作(解析失敗)如果在元素名稱冒號。 儘管它可能是命名空間,但它在整個XML文檔中都是單一的命名空間。
<aws:elementname>...</aws:elementname>
這是一個問題只與谷歌的Xml或是通用的?
使用XML在谷歌Apps腳本解析XML文檔中的元素: http://code.google.com/googleapps/appsscript/articles/XML_tutorial.html#HowItWorks解析XML包含結腸/命名空間
但是,這並不工作(解析失敗)如果在元素名稱冒號。 儘管它可能是命名空間,但它在整個XML文檔中都是單一的命名空間。
<aws:elementname>...</aws:elementname>
這是一個問題只與谷歌的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");
這似乎是一個非命名空間的版本調用。
這種方法有一個重載,它接受一個名稱空間URL,如果涉及到一個名稱空間,可能需要使用該名稱空間URL。
如果你想使用一些命名空間,你必須先聲明它。例如:
<root xmlns:aws="some-uri">
<aws:elementname />
</root>
從文檔中我瞭解到它的名稱空間感知。什麼是問題 - XML是否允許冒號除命名空間之外的元素名稱? – delnan 2010-11-27 21:06:21
如果谷歌的Xml類是名稱空間感知,那麼它不應該有解析失敗。我採用了同樣的例子「培根甲骨文」,並添加了(每個元素前置的)aws:所有元素都失敗了。 – anjanesh 2010-11-27 21:13:32