2017-06-09 26 views
0

jQueryで解析しようとしているXMLファイルがあります。ここではスキーマは次のとおりです。jQueryでXMLを解析する方法

<document> 
    <field> 
    <name>SUBJECT</name> 
    <value>Biography &amp; Autobiography</value> 
    </field> 
    <field> 
    <name>SUBJECT</name> 
    <value>Religion &amp; 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 &amp; Autobiography</value> 
    </field> 
    <field> 
    <name>SUBJECT</name> 
    <value>Religion &amp; 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 &amp; Autobiography</value> 
    </field> 
    <field> 
    <name>SUBJECT</name> 
    <value>Religion &amp; 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> 

私はこのようなネストされたループをしようとしているが、2番目のVAR 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

は申し訳ありません... – Jim

+0

あなたはスキーマやコードのようなものを書くとき、彼らは常にコードブロックで囲む必要があります。 – GrumpyCrouton

+0

SUBJECT伝記&自伝 SUBJECT宗教&精神 SUBJECT軍事 SUBJECTノンフィクション AUTHOR Blehm、エリック LANGUAGE ENG説明フィアレスはストレート何とか何とか何とか Jim

答えて

-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); 
+0

OK、ya、これはjsonの出力、xmlのように見えると思っていました。ありがとうございました。 – Jim

関連する問題