Chrome コンソールで次のエラーが表示されます。
Uncaught TypeError: Object #<Document> has no method 'getElementByTagName' Calendar.html:160
parseXML Calendar.html:160
XMLHttpRequestObject.onreadystatechange
私の XML は null として出力されます。
私は XML を初めて使用するので、これが何を意味するのかわかりません。XML を検証しましたが、文字セット "text/xml" に関する警告が 1 つだけ表示されますが、それが原因ではないはずです。ここに私が持っているものがあります:
XML データを取得するためのボタン ハンドラ。
<input type="submit" onclick="getServerData('Event.XML','divData')" value="Serve Me" />
それでは、こちらです。
function parseXML(xmlData){
var eventYear = xmlData.getElementsByTagName("year");
var eventMonth = xmlData.getElementsByTagName("month");
var eventDay = xmlData.getElementsByTagName("day");
var eventHour = xmlData.getElementsByTagName("hours");
var eventMinute = xmlData.getElementsByTagName("minutes");
var eventTitle = xmlData.getElementsByTagName("title");
}
function getServerData(dataIN,tagOUT)
{
var dataOutput=document.getElementById(tagOUT)
//alert(dataIN)
//alert(tagOUT)
if(XMLHttpRequestObject)
{
XMLHttpRequestObject.open("GET", dataIN);
XMLHttpRequestObject.onreadystatechange = function(){
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
var xmlResponse = XMLHttpRequestObject.responseXML;
parseXML(xmlResponse);
dataOutput.innerHTML = xmlResponse;
}
}
XMLHttpRequestObject.send(null);
}
}
XML サンプルは次のとおりです。
<event>
<date>
<year>2013</year>
<month>2</month>
<day>4</day>
</date>
<time>
<start>
<hours>12</hours>
<minutes>00</minutes>
</start>
<end>
<hours>2</hours>
<minutes>30</minutes>
</end>
</time>
<title>Party</title>
</event>