2009-07-05 13 views
7

Ho un file XML in una stringa in questo formato:Manipolazione stringa XML in JS?

<item> 
    <name>xxx</name> 
    <id>yyy</id> 

    <view> 
     <name>view1_name</name> 
     <view_attrs> 
      <view_attr> 
       <name>Age</name> 
       <values> 
        <value>18-36</value> 
        <value>55-70</value> 
       </values> 
      </view_attr> 
      <view_attr> 
       <name>Status</name> 
       <values> 
        <value>Single</value> 
        <value>Married</value> 
       </values> 
      </view_attr> 
     </view_attrs> 
    </view> 


    <view> 
     <name>view2_name</name> 
     <view_attrs> 
      <view_attr> 
       <name>Age</name> 
       <values> 
        <value>37-54</value> 
       </values> 
      </view_attr> 
     </view_attrs> 
    </view> 


    <children> 
     <item> 
     ... 
     </item> 
     <item> 
     ... 
      <children> 
      ... 
      </children> 
     </item> 
    </children> 

</item> 

Quello che mi piacerebbe fare, ad esempio, si aggiunge/elimina un elemento, un bambino, cambiare i valori in uno specifico view_attr e così via?

Qual è il metodo più semplice e più semplice per farlo?

Grazie in anticipo. :)

risposta

6

jQuery avvolge navigatore web specifici parser XML in modo da poter semplicemente utilizzare il seguente per acquisire un documento da una stringa:

var xmlDoc = $('<foo><bar1/><bar2/></foo>')[0];

Ora è possibile utilizzare manipolazione del DOM standard aggiungere o eliminare nodi:

var bar2 = xmlDoc.getElementsByTagName('bar2')[0]; 
var bar3 = document.createElement('bar3'); 
xmlDoc.appendChild(bar3); 
xmlDoc.removeChild(bar2);
+0

e cosa dire dei valori all'interno di un elemento. –

+0

puoi utilizzare tutte le funzioni di manipolazione DOM standard, incluso setAttribute, ecc. Http://www.w3.org/DOM/ –