2010-09-13 3 views
0

Donc, jusqu'à présent, en langage ActionScript, je ne suis pas tombé en mauvais état, mais j'ai encore une bonne question que je ne peux pas faire! Dans l'ordre à la chronologie racine, tout est OK quand j'appelle les childNodes XML ou écrire la classe XML tout est vrai, mais quand j'appelle les childNodes XML de root dans un movieclip XML me donne undefined quelqu'un peut-il m'aider?XML donne un résultat indéfini dans ActionScript 2.0


Le document XML est la suivante:

<?xml version="1.0" encoding="utf-8"?> 
<root> 
    <document> 
     <title>What is lorem ipsum ?</title> 
     <description>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</description> 
    </document> 
</root> 

** Le code ActionScript est le suivant: *

function loadXML(loaded) 
{ 
    if (loaded) 
    { 
     xmlNode = this.firstChild; 
     _root.simple_title = []; 
     _root.simple_description = []; 
     total = xmlNode.childNodes.length; 
     for (i = 0; i < total; i++) 
     { 
      xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue; 
      xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue; 
     } 
    } 
    else 
    { 
     trace("XML is not loaded!"); 
    } 
} 

xmlData = new XML(); 
xmlData.ignoreWhite = true; 
xmlData.onLoad = loadXML; 
xmlData.load("simple.xml"); 

Maintenant, tout ce qu'il est correct dans le scénario racine en réalité il est travail Par exemple, j'ai un MovieClip appelé contenu et à l'intérieur d'eux j'ai 2 champs de texte le titre et le texte de description maintenant j'essaye d'appeler en root et c'est du travail.

content.titleID.text = simple_title[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue; 
content.descriptionID.text = simple_description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue; 

Maintenant, je tente d'appeler du contenu movieClip les childNodes de la racine par exemple:

titleID.text = _root.simple_title[0] 
descriptionID.text = _root.simple_description[0] 

Maintenant, le XML donne des résultats non définie, oui c'est la question que je ne peux pas le faire.

Répondre

0

Ok vous obtenez votre XML chargé et le traiter ...

function loadXML(loaded) { 
if (loaded) { 
    xmlNode = this.firstChild; 
    _root.simple_title = []; 
    _root.simple_description = []; 
    total = xmlNode.childNodes.length; 
    for (i = 0; i < total; i++) { 
    xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue; 
    xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue; 
    } 
} else { 
    trace("XML is not loaded!"); 
} 
} 

xmlData = new XML(); 
xmlData.ignoreWhite = true; 
xmlData.onLoad = loadXML; 
xmlData.load("simple.xml"); 

Vous faites alors ...

content.titleID.text = simple_title[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;  
content.descriptionID.text = simple_description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue; 

Lorsque vous faites cela, vérifiez la valeur de i ... I Je m'attends à ce que ce soit undefined. C'est probablement pourquoi vous avez une erreur.

Questions connexes