2009-04-13 5 views
1

私は<body>という要素タグにいくつかのHTMLコンテンツを保存しているxmlファイルを持っています。今では、JavaScriptのXML DOMを使用してbodyタグのすべてのHTMLコンテンツを読み込もうとしています。タグ名とその値を持つすべての子要素をxmlファイルから読み取るにはどうすればよいですか?

私はこのコードを試みた:

var xmlDoc=loadXMLDoc('QID_627.xml'); 
var bodytag = xmlDoc.getElementsByTagName("body"); 
document.write(bodytag); 

をそれがブラウザ画面の[オブジェクトHTMLCollection]メッセージを示しています。

答えて

1

Andrew Hareは、getElementsByTagName()は常に配列を返すので、bodytag [0]を使用して必要な要素を取得する必要があることを指摘しました。これは正しいですが、あなたがそれを行うときでさえも同じように役に立たない "[オブジェクトElementName]"というメッセージが出るので、完全ではありません。あなたは

より良い
document.write(bodytag[0].innerHTML); 

とbodyタグの内容をシリアル化しようとすることができます

あなたが(にdocument.writeを使用して設定している場合は)まだ直接あなたの目的地DOMにソースDOMノードを取り付けることになります。

あなたはノードをコピーするか、それが仕事持っている他のいくつかのフープを介してジャンプする必要があり、別のドキュメントからDOMノードを取り付けると、いくつかの問題があるかもしれません

document.getElementById("destinationNodeId").appendChild(bodytag[0]); 

ようなものを使用すると思います。

0

あなたがdocument.write(bodytag.toXMLString());

EDITを使用する必要があります:アンドリューウサギはまた、あなたが最初の添字する必要があると指摘します。あなたはまだtoXMLStringコールを使用する必要があると思います。

2

これを試してみてください:

var xmlDoc=loadXMLDoc('QID_627.xml'); 
var bodytags = xmlDoc.getElementsByTagName("body"); 
document.write(bodytags[0]); 

getElementsByTagNameは、(一つだけが発見された場合でも)要素の配列を返しますので、あなたの要素を取得するための配列に添字する必要があります。

関連する問題