I have an XML file that I am trying to parse through with jQuery. Here is the schema:
<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>
I'm trying a nested loop like this, but the second var y
is coming up as undefined.
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;
}
I'm just trying to get some output for now. Once I figure this out, I'll add some switch statements, and just pull the fields I want to display.