我正在尝试使用XMLHTTPRequest来下载.xml文件,并将它的一些元素作为内容添加到页面中。我所做的是做出请求,获取文档,从我想要导入的xml中获取特定的DOM元素,使用existing.appendChild(fromXML)
将xml DOM中的元素附加到HTML DOM中的元素。如何将XML DOM元素转换为HTML DOM元素?
但是,没有呈现实际的标签。每个标签内的文本都呈现得很好。但标签本身似乎被忽略。 Firebug以浅蓝色字体显示HTML面板中的添加标签,而不是其他标签的蓝色标签,但我无法弄清楚这意味着什么。 webkit开发者工具也向我展示了标签在那里(虽然没有特殊的颜色),但是它们没有正确渲染(例如,img和标签根本没有任何效果)。
我是否缺少一些从XML DOM到HTML DOM的转换?
这里是我的意见代码简洁简单的版本:
// Make xmlHTTPRequest
...
// Get items from the response xml
var items = xhr.responseXML.getElementsByTagName("item");
// Get one item and it's children recursively
var elm = document.importNode(items[0],true);
// Get the existing element to add the item add to
existingDomElement = document.getElementById("demo");
for (var i = 0; i < $(elm).children().length; i++) {
var child = $($(safeChild).children()[i])[0];
existingDomElement.appendChild(child);
}
命名空间中的XML元素可能是? – 2011-02-24 08:48:20
纯粹的巧合,我几乎在读完你的问题后立即遇到了同样的问题(在GWT中工作)。我不知道答案,但我想我可能必须在将它们附加之前将节点转换为HTML DOM节点。 – 2011-02-24 10:43:15
如何将东西转换为HTML DOM节点?我已经用我能想到的每一个措辞来查看,唯一被广泛记录的转换是相反的。 – DanBlakemore 2011-02-24 16:35:19