2009-04-13 86 views
1

我有一個xml文件,我在一個名爲<body>的元素標記中存儲了一些HTML內容。現在我試圖在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]來獲得你想要的元素。這是正確的,但不完整,因爲即使你這樣做,你仍然會得到同樣無用的「[對象元素名稱]」消息。

如果您在使用document.write()設置你可以嘗試序列排出體外標記的內容與

document.write(bodytag[0].innerHTML); 

更重要的是會直接源DOM節點連接到你的目的地DOM 。

你會使用類似

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

可能會有一些問題,從,可能需要複製的節點,或通過一些其他跳火圈有它的工作另一份文件附加DOM節點。

0

您需要使用document.write(bodytag.toXMLString());

編輯:安德魯·黑爾還指出,你需要先下標。我認爲您可能仍然需要使用toXMLString通話。

2

試試這個:

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

getElementsByTagName返回元素的數組(哪怕只是一個被發現的),所以你需要下標數組檢索你的元素。

相關問題