Pregunta

El uso de XML para analizar un documento XML en Google Apps Script: http://code.google.com/googleapps/appsscript/articles/XML_tutorial .html # howItWorks

Pero esto no funciona (no de análisis) si hay dos puntos en el nombre del elemento. A pesar de que tal vez el espacio de nombres, es un único espacio de nombres en todo el documento XML.

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

Se trata de un problema sólo con XML del google o es genérico?

¿Fue útil?

Solución

Simplemente no envíe argumento como verdadera.

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

Otros consejos

Es sin duda no es un problema general. Sin duda hay analizadores XML que los espacios de nombres de la manija.

Sospecho que es una limitación del código tutorial y que las bibliotecas de Google en realidad puede manejar espacios de nombres, pero es algo conjeturas de mirar a los documentos de la API.

El código tutorial está utilizando llamadas como

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

que parece ser una versión no-espacio de nombres de cuenta.

Hay una sobrecarga de este método que toma una URL espacio de nombres también, y lo que puede que tenga que utilizar si hay un espacio de nombres en cuestión.

Si desea utilizar un poco de espacio de nombres, tiene que declarar por primera vez. Por ejemplo:.

<root xmlns:aws="some-uri">
  <aws:elementname />
</root>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top