我有一个xml文件,我在其中将一些HTML内容存储在名为<body>
的元素标记中。现在,我正在尝试使用JavaScript中的XML DOM读取body标签的所有HTML内容。
我试过这段代码:
var xmlDoc=loadXMLDoc('QID_627.xml');
var bodytag = xmlDoc.getElementsByTagName("body");
document.write(bodytag);
但它在浏览器屏幕上显示[object HTMLCollection]消息。
答案 0 :(得分:2)
试试这个:
var xmlDoc=loadXMLDoc('QID_627.xml');
var bodytags = xmlDoc.getElementsByTagName("body");
document.write(bodytags[0]);
getElementsByTagName
返回一个元素数组(即使只找到一个元素),所以你需要下标数组来检索你的元素。
答案 1 :(得分:1)
Andrew Hare指出getElementsByTagName()始终返回一个数组,因此您必须使用bodytag [0]来获取所需的元素。这是正确的,但不完整,因为即使你这样做,你仍然会得到同样无用的“[object ElementName ]”消息。
如果您已开始使用document.write(),则可以尝试使用
序列化body标签的内容 document.write(bodytag[0].innerHTML);
更好的是将源DOM节点直接附加到目标DOM中。
你会使用像
这样的东西document.getElementById("destinationNodeId").appendChild(bodytag[0]);
从另一个文档中附加DOM节点可能会出现一些问题,这些问题可能需要您复制节点,或者跳过其他一些环节以使其工作。
答案 2 :(得分:0)
您需要使用document.write(bodytag.toXMLString());
toXMLString
电话。