Domanda

Utilizzo di XML per analizzare un documento XML in Google Apps Script: http://code.google.com/googleapps/appsscript/articles/XML_tutorial .html # howitworks

Ma questo non funziona (parse non riesce) se v'è un colon nel nome dell'elemento. Anche se forse lo spazio dei nomi, è un singolo spazio dei nomi in tutto il documento XML.

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

E 'questo è un problema solo con XML di Google o è generico?

È stato utile?

Soluzione

Proprio non inviare argomento come vero.

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

Altri suggerimenti

Non è sicuramente un problema generale. Ci sono certamente parser XML che namespace maniglia.

Ho il sospetto che sia una limitazione del codice di tutorial e che le librerie di Google in realtà in grado di gestire spazi dei nomi, ma è un po 'congetture dal guardare la documentazione API.

Il codice di esercitazione sta usando chiamate come

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

che sembra essere una versione non-namespace-aware.

C'è un sovraccarico di questo metodo che accetta un URL namespace come bene, e che potrebbe essere necessario utilizzare se c'è uno spazio dei nomi coinvolti.

Se si desidera utilizzare un po 'di spazio dei nomi, si deve dichiarare un primo momento. Per esempio:.

<root xmlns:aws="some-uri">
  <aws:elementname />
</root>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top