Parsen von XML mithilfe von Google Apps Script

Ich Schwierigkeiten beim Parsen der XML-Code aus einer boardgamegeek Abfrage, so dass ich vielleicht füllen Sie eine google-Tabelle mit den Daten. Hier ist ein Beispiel des bgg xml:

<boardgames termsofuse="http://boardgamegeek.com/xmlapi/termsofuse">
  <boardgame objectid="423">
    <yearpublished>1995</yearpublished>
    <minplayers>3</minplayers>
    <maxplayers>6</maxplayers>
    <playingtime>300</playingtime>
    <name primary="true" sortindex="1">1856</name>
  </boardgame>
</boardgames>

- Und hier ist Google Apps Script, das ich geschrieben habe, zu analysieren:

//get the data from boardgamegeek
  var url = 'http://www.boardgamegeek.com/xmlapi/boardgame/' + bggCode;
  var bggXml = UrlFetchApp.fetch(url).getContentText();

  var document = XmlService.parse(bggXml);
  var root = document.getRootElement();     
  var entries = new Array();
  entries = root.getChildren('boardgame');

  for (var x = 0; x < entries.length; i++) {
    var name = entries[x].getAttribute('name').getValue();
    var yearpublished = entries[x].getAttribute('yearpublished').getValue();
    var minplayers = entries[x].getAttribute('minplayers').getValue();
    var maxplayers = entries[x].getAttribute('maxplayers').getValue();
  }
  //SpreadsheetApp.getActiveSheet().getRange(i+1,7).setValue(yearpublished);
  Logger.log(entries);

Ich bin derzeit immer eine Fehlermeldung in der for-Schleife verursacht durch Einträge NULL. Wenn ich den Kommentar der loop-out-und log-was bggXml aussieht, es sieht genauso aus wie das Beispiel oben. Allerdings logging-Variablen, die weiter unten bekomme ich die folgende:

document => [Document:  No DOCTYPE declaration, Root is [Element: <boardgames/>]]
root => [Element: <boardgames/>]
entries =>  [[Element: <boardgame/>]]
entries[2] => undefined

Da die bggXml sieht genauso aus, wie ich erwarten würde, aber das Dokument nicht, ich nehme an, das problem ist in der Analyse?

InformationsquelleAutor pr0t0 | 2014-10-23
Schreibe einen Kommentar