« 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>