Ich habe eine XML-Zeichenfolge wie folgt:

<?xml version="1.0"?> 
<itemsPrice> 
    <setA> 
          <Category Code="A1">
                <price>30</price> 
          </Category> 
          <Category Code="A2">
                  <price>20</price> 
          </Category> 
     </setA>
    <setB> 
          <Category Code="A3"> 
                <price>70</price> 
           </Category> 
          <Category Code="A4"> 
                <price>80</price> 
          </Category> 
    </setB> 
</itemsPrice>

Wie erhalte ich die Werte des Attributs "Code" in einer Javascript-Variablen oder einem Array? Was ich will ist wie folgt: A1, A2, A3, A4 vorzugsweise in einem Array. Oder wenn es innerhalb einer "jeder" Funktion erhalten werden kann, ist das auch gut. Wie gehe ich dafür in Javascript vor?

Folgendes habe ich versucht:

var xml=dataString;  // above xml string
xmlDoc = $.parseXML( xml );
$xml = $( xmlDoc );
$code = $xml.find("Category");
alert($code.text());  // gives me the values 30 20 70 80
                      // I want to get the values A1 A2 A3 A4
0
zolio 8 Okt. 2012 im 13:55

3 Antworten

Beste Antwort

Versuche dies

var arr = [];
$code = $xml.find("Category");

$.each( $code , function(){
    arr.push( $(this).attr('Code'));
});

console.log( arr);  // Will have the code attributes
1
Sushanth -- 8 Okt. 2012 im 10:20

Dies sollte Ihnen helfen

$xml.find('Category').each(function(){
   alert($(this).attr('Code'));
});
0
Ravi Kumar 8 Okt. 2012 im 10:22

Mit dem folgenden Skript können Sie alle Codes in einem Array abrufen

codeArray = []
$($($.parseXML(dataString)).find('Category')).each(function(){ codeArray.push($(this).attr('Code'))})

CodeArray ist ["A1", "A2", "A3", "A4"]

1
Jacob George 8 Okt. 2012 im 10:08