2009-07-05 9 views
7

que tienen un archivo XML en una cadena en este formato:manipulación de cadenas XML en 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> 

Lo que me gustaría hacer, por ejemplo, es añadir/eliminar un elemento, un niño, los valores de cambio en un view_attr específico y así sucesivamente?

¿Cuál es el método más sencillo y sencillo para hacerlo?

Gracias de antemano. :)

Respuesta

6

jQuery envuelve analizadores XML específicos del navegador por lo que simplemente puede utilizar el siguiente para adquirir un documento a partir de una cadena:

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

Ahora se puede utilizar la manipulación DOM estándar para agregar o eliminar nodos:

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

y qué tal el cambio de valores dentro de un elemento. –

+0

puede usar todas las funciones estándar de manipulación DOM, incluido setAttribute, etc. http://www.w3.org/DOM/ –