1 Introduction à XML▲
1.1 Vue d'ensemble de XML▲
XML est le sigle pour Extensible Markup Language et a été défini en 1998 par le World Wide Web Consortium (W3C).
Un document XML est constitué par des éléments ayant chacun une balise de début, un contenu et une balise de fin. Un document XML doit avoir exactement un élément racine (une balise qui renferme toutes les autres balises). XML fait la distinction entre les lettres majuscules et minuscules.
Un fichier XML doit être « bien formé ».
Un fichier XML bien formé doit remplir les conditions suivantes :
• un document XML commence toujours par un prologue (voir ci-dessous une explication sur ce qu'est un prologue) ;
• chaque balise d'ouverture a une balise de fermeture ;
• toutes les balises sont complètement imbriquées.
Un fichier XML est dit valide s'il est bien formé et s'il contient un lien vers un schéma XML. Il est valide par rapport à ce schéma.
L'utilisation de XML présente les avantages suivants par rapport à l'utilisation d'un format binaire ou non structuré :
• XML est du texte brut ;
• XML représente les données sans définir comment elles doivent être affichées ;
• XML peut être transformé en d'autres formats à l'aide de XSL ;
• XML peut être facilement traité en utilisant des parseurs standard ;
• les fichiers XML sont hiérarchiques.
1.2 Exemple XML▲
Ce qui suit est un fichier XML valide, bien formé.
<?xml version="1.0"?>
<!-- This is a comment -->
<address>
<name>
Lars </name>
<street>
Test </street>
<telephone
number
=
"0123"
/>
</address>
1.3 Éléments XML▲
Un document XML commence toujours par un prologue qui décrit le fichier XML. Ce prologue peut être minimal, par exemple <?xml version=« 1.0 »?> ou peut contenir d'autres informations, par exemple l'encodage : <?xml version=« 1.0 » encoding=« UTF-8 » standalone=« yes »?>
Une balise qui ne renferme aucun contenu est connue sous le nom de balise vide. Par exemple : <flag/>
Les commentaires en XML sont définis comme : <! COMMENTAIRE>
2 Le traitement de XML sous Android▲
Le langage de programmation Java fournit plusieurs bibliothèques standards pour le traitement des fichiers XML. Les parseurs XML, SAX et DOM sont également disponibles sur Android.
L'API parseur SAX et DOM est la même sous Android que dans la norme Java. SAX et DOM ont leurs limitations, donc il n'est pas recommandé de les utiliser sur Android. Par conséquent, ce tutoriel ne donne pas d'exemple pour l'utilisation de ces bibliothèques.
La norme Java fournit également le parseur Stax. Ce dernier ne fait pas partie de la plate-forme Android.
Android fournit la classe XmlPullParser pour analyser et écrire du XML. Ce parseur n'est pas disponible dans la norme Java, mais il est similaire à Stax. Il est hébergé sur http://www.xmlpull.org/.
Sur Android, il est recommandé d'utiliser XmlPullParser. Il a une API relativement simple en comparaison avec SAX et DOM, est rapide et nécessite moins de mémoire que l'API DOM.
3 Exemple XmlPullParser▲
La Javadoc de XmlPullParser donne un bon exemple sur comment vous pouvez utiliser cette bibliothèque.
import
org.xmlpull.v1.XmlPullParser;
import
org.xmlpull.v1.XmlPullParserException.html;
import
org.xmlpull.v1.XmlPullParserFactory;
public
class
SimpleXmlPullApp
{
public
static
void
main (
String args[])
throws
XmlPullParserException, IOException
{
XmlPullParserFactory factory =
XmlPullParserFactory.newInstance
(
);
factory.setNamespaceAware
(
true
);
XmlPullParser xpp =
factory.newPullParser
(
);
xpp.setInput
(
new
StringReader (
"<foo>Hello World!</foo>"
));
int
eventType =
xpp.getEventType
(
);
while
(
eventType !=
XmlPullParser.END_DOCUMENT) {
if
(
eventType ==
XmlPullParser.START_DOCUMENT) {
System.out.println
(
"Start document"
);
}
else
if
(
eventType ==
XmlPullParser.END_DOCUMENT) {
System.out.println
(
"End document"
);
}
else
if
(
eventType ==
XmlPullParser.START_TAG) {
System.out.println
(
"Start tag "
+
xpp.getName
(
));
}
else
if
(
eventType ==
XmlPullParser.END_TAG) {
System.out.println
(
"End tag "
+
xpp.getName
(
));
}
else
if
(
eventType ==
XmlPullParser.TEXT) {
System.out.println
(
"Text "
+
xpp.getText
(
));
}
eventType =
xpp.next
(
);
}
}
}
4 Liens et littérature▲
5 Remerciements Developpez▲
Vous pouvez retrouver l'article original ici : Android XML Processing with the XmlPullParser - Tutorial. Nous remercions Lars Vogel qui nous a aimablement autorisés à traduire et héberger ses articles.
Nous remercions aussi Mishulyna pour sa traduction, ainsi que milkoseck pour sa relecture orthographique.
N'hésitez pas à commenter cet article ! 1 commentaire