1

HTMLの私のコードはこれです

 <script type="text/javascript" src="js/jquery.js"></script>
 <script type="text/javascript">
 if (window.XMLHttpRequest)
 {
     xmlhttp=new XMLHttpRequest();
 } else {
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }

 xmlhttp.open("GET","brands.xml",false);
 xmlhttp.send();
 theXmlDoc=xmlhttp.responseXML; 
 function fillForm(){
     $(theXmlDoc).find('table[name=brands]').each(function(){
         alert($(this));//doesn't fire when brands.xml contains more than one entry of <table name="brands"> else shows Object object
     });

私のbrands.xmlは

  <table name="brands">
        <column name="BrandID">1</column>
        <column name="BrandName">AX</column>
        <column name="CompanyInfo">FDC</column>
        <column name="Composition">Cap</column>
 </table>
 <table name="brands">
        <column name="BrandID">2</column>
        <column name="BrandName">UP</column>
        <column name="CompanyInfo">Tor</column>
        <column name="Composition">Asp</column>
 </table>

brands.xmlアラートの単一のエントリが含まれている場合<table name="brands">はオブジェクトオブジェクトが表示されますが、上記のように複数のテーブル名が含まれている場合、それぞれが実行されません。

4

2 に答える 2

2

XML は単一のノードでラップする必要があります。

<tables>
    <table name="brands">
        <column name="BrandID">1</column>
        <column name="BrandName">AX</column>
        <column name="CompanyInfo">FDC</column>
        <column name="Composition">Cap</column>
    </table>
    <table name="brands">
        <column name="BrandID">2</column>
        <column name="BrandName">UP</column>
        <column name="CompanyInfo">Tor</column>
        <column name="Composition">Asp</column>
    </table>
</tables>

それに応じて JavaScript を調整する必要があるため、このラッピング ノード内を選択します。

于 2012-04-12T12:22:43.067 に答える
1

テーブル ノードの上に単一のルート ノードを指定する必要があります。

お気に入り

<root-node>
 <table name="brands">
        <column name="BrandID">1</column>
        <column name="BrandName">AX</column>
        <column name="CompanyInfo">FDC</column>
        <column name="Composition">Cap</column>
    </table>
    <table name="brands">
        <column name="BrandID">2</column>
        <column name="BrandName">UP</column>
        <column name="CompanyInfo">Tor</column>
        <column name="Composition">Asp</column>
    </table>
</root-node>

チュートリアルを参照してくださいhttp://webhole.net/2009/12/16/how-to-read-xml-with-javascript/

于 2012-04-12T12:24:41.050 に答える