我有一个XML文件,我试图用jQuery解析。这是架构:
<document>
<field>
<name>SUBJECT</name>
<value>Biography & Autobiography</value>
</field>
<field>
<name>SUBJECT</name>
<value>Religion & Spirituality</value>
</field>
<field>
<name>SUBJECT</name>
<value>Military</value>
</field>
<field>
<name>SUBJECT</name>
<value>Nonfiction</value>
</field>
<field>
<name>AUTHOR</name>
<value>Blehm, Eric</value>
</field>
<field>
<name>LANGUAGE</name>
<value>eng</value>
</field>
<field>
<name>DESCRIPTION</name>
<value>Fearless takes you deep into SEAL Team SIX, straight to the heart of blah blah blah </value>
</field>
</document>
<document>
<field>
<name>SUBJECT</name>
<value>Biography & Autobiography</value>
</field>
<field>
<name>SUBJECT</name>
<value>Religion & Spirituality</value>
</field>
<field>
<name>SUBJECT</name>
<value>Military</value>
</field>
<field>
<name>SUBJECT</name>
<value>Nonfiction</value>
</field>
<field>
<name>AUTHOR</name>
<value>Blehm, Eric</value>
</field>
<field>
<name>LANGUAGE</name>
<value>eng</value>
</field>
<field>
<name>DESCRIPTION</name>
<value>Fearless takes you deep into SEAL Team SIX, straight to the heart of blah blah blah </value>
</field>
</document>
<document>
<field>
<name>SUBJECT</name>
<value>Biography & Autobiography</value>
</field>
<field>
<name>SUBJECT</name>
<value>Religion & Spirituality</value>
</field>
<field>
<name>SUBJECT</name>
<value>Military</value>
</field>
<field>
<name>SUBJECT</name>
<value>Nonfiction</value>
</field>
<field>
<name>AUTHOR</name>
<value>Blehm, Eric</value>
</field>
<field>
<name>LANGUAGE</name>
<value>eng</value>
</field>
<field>
<name>DESCRIPTION</name>
<value>Fearless takes you deep into SEAL Team SIX, straight to the heart of blah blah blah </value>
</field>
</document>
我正在尝试这样的嵌套循环,但第二个变量y
即将出现未定义。
function myFunction(xml)
{
var i;
var j;
var xmlDoc = xml.responseXML;
var table="";
var x = xmlDoc.getElementsByTagName("document");
for (i = 0; i < x.length; i++)
{
// table += "<h2>New Record</h2>";
var y = x[i].getElementsByTagName("field").childNodes;
for (j= 0; j < y.length; j++);
{
table += "field name: " + y[j].getElementsByTagName("name")[0].childNodes[0].nodeValue + "<br>"
+ "field value: " +
y[j].getElementsByTagName("value")[0].childNodes[0].nodeValue +
"<br><br>";
}
}
document.getElementById("demo").innerHTML = table;
}
我现在只是想获得一些输出。一旦我搞清楚了,我会添加一些switch语句,然后拉出我想要显示的字段。
答案 0 :(得分:-1)
您可以使用XML到JSON转换器,然后访问更容易的JSON值。你去http://goessner.net/download/prj/jsonxml/
然后你就能做到:
var xml = 'Your XML here';
var parsedxml = parseXml(xml);
var json = xml2json(parsedxml);
console.log(json.SUBJECT);