JavaScriptでいくつかのXMLを解析しているときに私は奇妙な結果を得ています。私はスクリプトを実行するとJavascript:childNodes.lengthに要素が多すぎますか?
function testFunc()
{
var xhrRsp = 'failed to initialize';
rslt = document.getElementById('rslt');
if(xhr.readyState == 4)
{
if(xhr.status == 200)
{
xhrRsp = xhr.responseXML;
xhrTree = xhrRsp.documentElement.childNodes;
rslt.innerHTML = xhrRsp + ' (' + xhrTree.length + ' nodes) ';
for(var i = 0; i < xhrTree.length; i++)
{
if(xhrTree[i].nodeName != '#text')
{
rslt.innerHTML = rslt.innerHTML + '<br/>' + xhrTree[i].nodeName + ' (' + xhrTree[i].nodeType + ') ' + ' = ' + xhrTree[i].childNodes[0].nodeValue;
}
}
//rslt.innerHTML = outMsg;
}
}
else
{
xhrRsp = 'Loading...';
}
}
:それは、ページにXMLHttpRequestを経由してファイルをつかん後
<?xml version="1.0" encoding="UTF-8" ?>
<alerts>
<alert><![CDATA[ This is the first alert message in a series... ]]></alert>
<alert><![CDATA[ This is the second alert message in a series, which features a <a href="http://www.facebook.com" target="blank">hyperlink</a>... ]]></alert>
<alert><![CDATA[ This is the third alert message in a series, which features <span class="emphasizedAlertText">text formatted via a css rule</span> ]]></alert>
<alert><![CDATA[ This is the fourth alert message in a series, which features a <span class="fauxHyperlink" onclick="someFunction();">javascript call</span>... ]]></alert>
</alerts>
、私は出力に以下の機能を持っている:私は外部ファイルに次のXMLを持っていますブラウザ、私は結果としてこれを取得する:
Click Me
[object Document] (9 nodes)
alert (1) = This is the first alert message in a series...
alert (1) = This is the second alert message in a series, which features a hyperlink...
alert (1) = This is the third alert message in a series, which features text formatted via a css rule
alert (1) = This is the fourth alert message in a series, which features a javascript call...
私は、ノードの数が9として戻ってくると、これらの理由は、他のすべての1は私が現在てるの#text、などで来る理由として困惑していますフィルタリング上記のスクリプトで外に出てください。私は周りを見回していて、何が欠けているのか分からない。
ありがとうございます!
字下げしてください。参照してください、これはいつか便利なコードを読んで;) – deadalnix
スクリプトは完璧です。 ''には、9つの子要素、4つの要素ノード、5つのテキストノードがあります。要素ノードのみを出力しています。私はあなたの問題を理解していない... –