2009-06-15 4 views
1

Salut communauté J'ai le problème suivant,changer les caractères xml dans actionscript

donné ce xml

<test> 
    <comp> 
     <id>1</id> 
     <content>bar</content> 
    </comp> 
    <comp> 
     <id>2</id> 
     <content>foo</content> 
    </comp> 
</test> 

Je souhaite modifier la valeur du contenu de l'élément de comp avec id 2. Par conséquent, boucle I avec une boucle foreach

for each (var x : XML in testXML.children()) { 
        if (x.id == 2) { 
         for each (var element : XML in x.Children()) { 
          if (element.localName() == "content") { 
           element = "new content"; 
          } 
         } 
        } 
       } 

maintenant en atteignant le point element = "new content"; mon programm me dit élément que je ne peux pas donner la valeur du nouveau contenu comme ceci est une chaîne et eleme NT est xml. Comment puis-je atteindre cet objectif?

Merci à l'avance

Sebastian

+0

ok juste trouvé ... Je élément utilisé * = "nouveau contenu" maintenant ça marche –

Répondre

4

Essayez d'utiliser E4X au lieu de boucles.

Pour accéder à l'utilisation des éléments.

xml.comp.(id == 2).content 

Pour modifier son contenu, utilisez

xml.comp.(id == 2).content.* = "new content"; 

Beaucoup plus court :)

+0

Ah merci beaucoup pour cette réponse, j'aime E4X mais je ne connaissais pas les conditions. C'est bien. –

Questions connexes