我正在嘗試使用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