boardgamegeek 쿼리에서 XML 구문을 분석하는 데 문제가있어서 Google 시트에 데이터를 채울 수 있습니다. 구문 분석하기 위해 Google 애플리케이션 스크립트 내가 작성한 것 여기Google Apps Script를 사용하여 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>
을 그리고 : 다음은 BGG의 XML의 예
//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);
나는 현재에 오류가있어에 대한 루프에 의해 발생 항목이 NULL입니다. 루프를 주석 처리하고 bggXml이 어떻게 생겼는지 기록하면 위의 예와 비슷하게 보입니다. bggXml 이후
document => [Document: No DOCTYPE declaration, Root is [Element: <boardgames/>]]
root => [Element: <boardgames/>]
entries => [[Element: <boardgame/>]]
entries[2] => undefined
내가 기대하지만, 문서, 나는 문제가 구문 분석에 가정하지 않는 방법을 정확하게 보이는 그러나, 로깅 변수는 더 아래 나는 다음과 같은거야?