XML Node vaue Returns null?

  • RockmanTV
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Oct 12, 2004
  • Messages: 348
  • Status: Offline

Message Février 1st, 2008, 10:04 am

Im travaille sur une petite animation flash qui lit dans les données XML. C'est le code du GI suivantes à l'aide:
Code: [ Select ]
function processXMLData(success){
    if (success){
        var rootNode=this.firstChild;
        var numberofNodes = rootNode.childNodes.length;
        var rndI = Math.ceil(Math.random() * (numberofNodes - 0 + 1)) + (0 - 1);
        var commentsNode=rootNode.childNodes[rndI]; //Random Number Generator
        trace(commentsNode.nodeValue);
    }else{
        //Could not load XML file.
    }
}
comments_xml = new XML();
comments_xml.ignoreWhite = true;
comments_xml.load('conversation.xml');
comments_xml.onLoad=processXMLData;
  1. function processXMLData(success){
  2.     if (success){
  3.         var rootNode=this.firstChild;
  4.         var numberofNodes = rootNode.childNodes.length;
  5.         var rndI = Math.ceil(Math.random() * (numberofNodes - 0 + 1)) + (0 - 1);
  6.         var commentsNode=rootNode.childNodes[rndI]; //Random Number Generator
  7.         trace(commentsNode.nodeValue);
  8.     }else{
  9.         //Could not load XML file.
  10.     }
  11. }
  12. comments_xml = new XML();
  13. comments_xml.ignoreWhite = true;
  14. comments_xml.load('conversation.xml');
  15. comments_xml.onLoad=processXMLData;


Quand je lance tout ce code fonctionne bien sauf dans ma fenêtre de trace de la valeur est nulle. Mon code XML du fichier est ici:

Code: [ Select ]
<?xml version="1.0" encoding="utf-8"?>
<conversations>
 <say>It&apos;s true</say>
 <say>ok?</say>
 <say>It&apos;s true</say>
 <say>aww, (k)</say>
 <say>:P</say>
 <say>hey</say>
 <say>Point Taken</say>
 <say>hehe :P</say>
 <say>lol</say>
 <say>&gt;_&lt;</say>
</conversations>
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <conversations>
  3.  <say>It&apos;s true</say>
  4.  <say>ok?</say>
  5.  <say>It&apos;s true</say>
  6.  <say>aww, (k)</say>
  7.  <say>:P</say>
  8.  <say>hey</say>
  9.  <say>Point Taken</say>
  10.  <say>hehe :P</say>
  11.  <say>lol</say>
  12.  <say>&gt;_&lt;</say>
  13. </conversations>


Si je trace simplement le commentsNode-je obtenir une valeur (même si elle ajoute à l'ouverture et la fermeture <say> tags) cependant pourquoi ne puis-je tire simplement le texte entre avec nodeValue? Je me sens comme Im donnant quelque chose de très petite taille.

J'ai aussi utiliser des références entité dans mon fichier XML pour éviter les conflits. Cependant, ActionScript n'est pas interpréter " '" as. Est-il une autre méthode que j'ai besoin pour invoquer ce changement?

Merci pour l'aide à l'avance!
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Février 1st, 2008, 10:04 am

  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Février 1st, 2008, 11:29 am

essayez plutôt...
Code: [ Select ]
var commentsNode=comments_xml.firstChild.childNodes[rndI]; //Random Number Generator
trace(commentsNode.firstChild.nodeValue);
  1. var commentsNode=comments_xml.firstChild.childNodes[rndI]; //Random Number Generator
  2. trace(commentsNode.firstChild.nodeValue);
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com
  • RockmanTV
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Oct 12, 2004
  • Messages: 348
  • Status: Offline

Message Février 1st, 2008, 1:04 pm

Cela ne l'a l'affaire. Toutes les idées sur l'entité notices chose dans la dernière partie de mon message?

Merci beaucoup pour votre réponse rapide!
  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Février 1st, 2008, 2:05 pm

hmm deux choses à ce sujet. Assurez-vous que votre champ de texte est un texte html.
Code: [ Select ]
textfield1.html = true;
textfield1.htmltext = "your text to display";
// instead of //
textfield1.text = "your text to display";
  1. textfield1.html = true;
  2. textfield1.htmltext = "your text to display";
  3. // instead of //
  4. textfield1.text = "your text to display";


Si cela fonctionne alors votre bon d'aller. Toutefois, je recommande de toujours utiliser l'équivalent numérique au lieu du nom alors vous pourriez avoir un problème là aussi. Heres une bonne liste http://www.w3schools.com/tags/ref_entities.asp
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com
  • RockmanTV
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Oct 12, 2004
  • Messages: 348
  • Status: Offline

Message Février 1st, 2008, 2:39 pm

effectivement lieu. htmltext sur la deuxième ligne, il suffit d'utiliser Youd. texte. Sinon, il a travaillé comme un charme. Merci beaucoup!
  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Février 1st, 2008, 3:06 pm

heureux qu'il fonctionne. En fait htmltext fonctionnera ainsi, mais je tapé tort. Il convient de chameau affaire htmlText lieu de htmltext.

Désolé que le combat. C'est une bonne chose, ça marche ou l'autre manière.
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com

Afficher de l'information

  • Total des messages de ce sujet: 6 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 51 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC