2012-04-12 13 views
1

für html meinen Code ist diesIterieren durch XML-Knoten von jquery jeden

<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 
    }); 

Mein brands.xml ist

<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> 

wenn brands.xml einziger Eintrag von <table name="brands"> Warnung enthält Object-Objekt zeigt aber, wenn ich schließe mehr als ein Tabellenname, wie oben gezeigt, wird nicht ausgeführt.

+0

Gibt es einen bestimmten Grund, warum Sie jQuery verwenden den XML zu durchqueren, aber es nicht abrufen? –

+0

Ich denke, jquery hat viele Methoden, um mit Sachen umzugehen, wenn es bessere Alternative zum Zugriff xml von HTML pls gibt mir sagen, und ich möchte Text abrufen, aber ich kann nur tun, sobald ich kann von xml Knoten – saum22

Antwort

2

Ihre XML muss von einem einzelnen Knoten gewickelt werden:

<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> 

Und Sie werden Ihr JavaScript entsprechend so wählen Sie in diesem Wickelknoten einstellen müssen.

+0

hey seine Arbeit thanx Davon wusste ich nichts – saum22

1

Sie müssen einen einzelnen Stammknoten über den Tabellenknoten angeben.

wie

<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> 

sehen das Tutorial http://webhole.net/2009/12/16/how-to-read-xml-with-javascript/