我的API调用的XML输出包含以下内容:
<channel channel="194882" name="Main Power Main Panel">
<kWh>0.319</kWh>
</channel>
我正在尝试使用name
和kWh
创建一个表格。所以,我只需要在我的表格中输出Main Power Main Panel 0.319
。
我收到错误Failed to execute "removeChild" on "Node": The node to be removed is not a child of this node.
我认为问题在于我有一个name=
元素,而不是<name>...</name>
元素类型,但我不知道如何规避这一点。
我的DOM功能如下所示:
getDom: function(){
var wrapper = document.createElement("div");
if(!this.loaded) {
wrapper.innerHTML = "Loading...";
return wrapper;
}
if(this.xml !== null){
var table = document.createElement("table");
table.classList.add("xsmall", "table");
var channels = this.xml.getElementsByTagName("channel");
for(var i = 0; i < channels.length; i++){
var row = document.createElement("tr");
for(var n = 0; n < channels[i].children.length; n++){
if(channels[i].children[n].tagName === "name" || channels[i].children[n].tagName === "kWh"){
var element = document.createElement("td");
element.classList.add(channels[i].children[n].tagName);
if (channels[i].children[n].textContent != 0){
element.innerHTML = channels[i].children[n].textContent;
row.appendChild(element);
table.appendChild(row);
}
else {
table.removeChild(row); }
}
}
}
wrapper.appendChild(table);
} else {
console.log("Returned no Data");
wrapper.innerHTML = "NO DATA";
}
return wrapper;
},
这是针对那些熟悉的魔镜项目。感谢您寻求帮助!