我试图打印出xml字符串的内容但无法使其工作。谁能看到我的错误呢?
XML字符串:
<row>
<text>Hello</text>
<value>1</value>
</row>
<row>
<text>Hello2</text>
<value>2</value>
</row>
<row>
<text>Hello3</text>
<value>3</value>
</row>
XML是一个发送到showXML函数的字符串。
使用Javascript:
function showXML(xmlText) {
var ele = document.getElementById("Content");
ele.style.display = "block";
var doc = StringtoXML(xmlText); //Coverts string to XML
var html = "";
var rows = doc.getElementsByTagName("row");
for (var i = 0; i < rows.length; i++) {
var text = rows[i].getElementsByTagName("text").nodeValue;
var value= rows[i].getElementsByTagName("value").nodeValue;
html = html + " text: " + text + " value: " +value;
}
ele.innerHTML = html;
}
function StringtoXML(text){
if (window.ActiveXObject){
var doc=new ActiveXObject('Microsoft.XMLDOM');
doc.async='false';
doc.loadXML(text);
} else {
var parser=new DOMParser();
var doc=parser.parseFromString(text,'text/xml');
}
return doc;
}
所有帮助的Thx!
答案 0 :(得分:1)
以下是for循环中所需的更正
var text = rows[i].getElementsByTagName("text")[0].childNodes[0].nodeValue;
var value= rows[i].getElementsByTagName("value")[0].childNodes[0].nodeValue;
getElementsByTagName返回一个数组/集合。