« Programmation Haxe/Haxe.xml » : différence entre les versions
Contenu supprimé Contenu ajouté
Page créée avec « * Exemple 1 : avec haxe.xml.Fast qui regroupe des fonctions éclaires <source = "java"> // contenu xml var xml = Xml.parse(" <user name='john'> <phone> <number>0000... » |
(Aucune différence)
|
Version du 5 septembre 2015 à 08:06
- Exemple 1 : avec haxe.xml.Fast qui regroupe des fonctions éclaires
// contenu xml
var xml = Xml.parse("
<user name='john'>
<phone>
<number>0000</number>
<number>111</number>
</phone>
</user>
");
// encapsuler le xml pour un accès fast
var fast = new haxe.xml.Fast(xml.firstElement());
// accéder les attributs
trace(fast.att.name); // attribute "name"
if( fast.has.age ) trace( fast.att.age ); // optional attribute
// accession de l'enfant de phone
var phone = fast.node.phone;
// boucle pour affichage
for( p in phone.nodes.number ) {
trace(p.innerData);
}
ou Exemple 2 : utilisant des propriétés de Xml (à la racine de l'api :)
// le xml
var str = "<hello where=\"world\">Haxe</hello>";
// on parse le xml
var x : Xml = Xml.parse(str).firstElement();
// on fait une requète
var out = x.nodeName + " " + x.get("where")+" "+x.firstChild().nodeValue;
trace(out);
for( child in x ) {
// itère tous les enfants
trace(child);
}
for( elt in x.elements() ) {
// itère tous les éléments
trace(elt);
}
for( user in x.elementsNamed("user") ) {
// itère tous les éléments avec le nodeName "user"
trace(user);
}
for( att in x.attributes() ) {
// itérateur sur tous les attributs
trace(att);
}
Attaque namespace : Xml (racine-haxe3)
<file java> // on met le string xml dans une variable var str = "<hello where=\"world\">Haxe</hello>"; // on parse le xml -- et on prends le premier élément -- .firstElement() est dans le namespace Xml var x : Xml = Xml.parse(str).firstElement(); </file>
Fields
nodeName
<file java> var out = x.nodeName; // retourne -> "hello" </file>
nodeType
<file java> var out = x.nodeType; // retourne -> "element" -- car hello est de type element xml </file>
nodeValue
<file java> var out = x.firstChild().nodeValue; // retourne -> "Haxe" </file>
parent
<file java> var out = x.firstChild().parent; // retourne -> le noeud "hello" comme parent car il n'y a pas de noeud parent </file>