1
私は現在、HTML divにxml showの簡単な生データを持たせようとしています。私のログには6つの要素がありますが、私のfor-loop関数は一度だけ実行され、最初の実行さえも追加しません。ここで HTMLのdivに表示されないJavascriptを使用したXML表示
はコードです:私のWebContentで見つかったwindow.onload = function(){
document.getElementById('container').innerHTML += "Reading XML...";
// Create a connection to the file.
var Connect = new XMLHttpRequest();
// Define which file to open and
// send the request.
Connect.open("GET", "UIFrame.xml", false);
Connect.setRequestHeader("Content-Type", "text/xml");
Connect.send(null);
// Place the response in an XML document.
var TheDocument = Connect.responseXML;
// Place the root node in an element.
var UI = TheDocument.childNodes[0];
// Retrieve each customer in turn.
document.getElementById('container').innerHTML += UI.children.length;
for (var i = 0; i < UI.children.length; i++)
{
document.getElementById('container').innerHTML += "inside loop";
var Component = UI.children[i];
// Access each of the data values.
var Value = Component.getElementsByTagName("value");
var x = Component.getElementsByTagName("x");
var y = Component.getElementsByTagName("y");
var width = Component.getElementsByTagName("width");
var height = Component.getElementsByTagName("height");
// Write the data to the page.
document.getElementById('container').innerHTML += Value[0].textContent.toString();
document.getElementById('container').innerHTML += x[0].textContent.toString();
document.getElementById('container').innerHTML += y[0].textContent.toString();
document.getElementById('container').innerHTML += width[0].textContent.toString();
document.getElementById('container').innerHTML += height[0].textContent.toString();
}
};
とサンプルXML(WEB-INFなどと同じレベル)
<ui>
<component name="UI Frame" type="frame">
<x>270</x>
<y>11</y>
<width>458</width>
<height>343</height>
</component>
<component name="loginBtn" type="button">
<value>Login</value>
<x>180</x>
<y>184</y>
<width>90</width>
<height>20</height>
</component>
</ui>
しました!コードははるかに良く見えます!ありがとう – Reiion