1 / 16

UNIVERSITE CHOUAIB DOUKKALI Faculté des sciences Département des mathématiques Et informatiques

XML / XPATH. Réalisé par: ZINEB KHATTABY HANANE SAHNOUNE. Pr: Mr . Ali ElHORE. UNIVERSITE CHOUAIB DOUKKALI Faculté des sciences Département des mathématiques Et informatiques ELJADIDA. A nnée universitaire: 2012/2013. Sommaire. Rappel sur document XML

Download Presentation

UNIVERSITE CHOUAIB DOUKKALI Faculté des sciences Département des mathématiques Et informatiques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML / XPATH Réalisé par: ZINEB KHATTABY HANANE SAHNOUNE Pr: Mr. Ali ElHORE UNIVERSITE CHOUAIB DOUKKALI Faculté des sciences Département des mathématiques Et informatiques ELJADIDA Année universitaire: 2012/2013

  2. Sommaire • Rappel sur document XML • Introduction à XPath • Qu’est ce que Xpath? • RequêtesXpath • Sélection • Condition • Quelques exemples des fonctions de Xpath • Environnement requis • Exemple de mise en œuvre

  3. Rappel sur XML ►Le Xml (Extensible MarkaupLanguage, « langage de balisage extensible ») est un langage informatique de balisage générique qui dérive de SGML. ► En pratique, un fichier XML est un simple fichier texte, contenant des balises. La particularité de XML est qu'aucune balise n'est prédéfinie : c'est au concepteur de définir les balises qui ont du sens pour lui.

  4. Exemple d’un fichier XML <?xml version="1.0" encoding="UTF-8"?> <etudiants> <etudiant id="1"> <nom> Sahnoune</nom> <Prenom> Hanane </Prenom> <date-ins> 20010 </date-ins> </etudiant> <etudiant id="2"> <nom> Khattaby </nom> <Prenom> Zineb </Prenom> <date-ins> 20010 </date-ins> </etudiant> </etudiants>

  5. Introduction à XPath XPath permet de parcourir un fichier XML d'une façon à la fois simple et puissante. De la sorte, en peu de temps,un développeur peut rapidement et aisément extraire les informations qui l'intéressent, même dans un document qui en comporte bien plus. On peut par exemple : • récupérer le contenu d'une balise précise • récupérer du contenu en fonction de la valeur d'un attribut d'une balise • récupérer un ensemble de balises avec leur contenu et les parcourir

  6. Qu’est ce qu’un XPath ►XPathest un langage avec une syntaxe non XML, permettant d'adresser les différents nœuds ou groupes de nœuds particuliers d'un document XML. ►XPath voit le document XML comme un arbre de nœuds, qu'il permet de parcourir selon des axes (fils, parent, ancêtre, descendant, ...) et en sélectionnant les nœuds par leur nom.

  7. Requêtes XPath

  8. Sélection élément-attributs ’’/’’ • /nom : sélectionne tous les éléments enfants de l’élément « nom » • /* : sélectionne tous les éléments-enfants de type élément du contexte actuel • /book/@price" sélectionne tous les attributs pricedes éléments book

  9. Condition [ ] • /*/etudiant[nom=‘Mohamed’]:sélectionne tous les éléments du document ayant un élément enfant nommé nom peu importe la valeur de ce dernier. • /etudiant[date-ins = ‘2010']: sélectionne tous les éléments du document ayant un élément enfant nommé date-ins dont la valeur est exactement 2010. • /nom[1] sélectionne uniquement le premier élément nom parmi les éléments se nommant nom dans un document XML. • /etudiants[@id != ‘1']/etudiant :sélectionne tous les éléments etudiant pour lesquels la valeur de l'attribut id de leur élément parent etudiant est différente de 1 .

  10. Quelques exemples des fonctions de XPath • Count() : calcule le nombre des éléments qui ont un condition en commun /*[count(BBB)=2] • Sum() :retourne la somme, pour tous les éléments de l'ensemble passé en argument, du résultat de la conversion en numérique de leur valeur textuelle. Sum(/Root/BBB) • Name() : Elle retourne une chaîne contenant le nom passé en argument /*[name()=‘BBB']

  11. Environnement requis Les librairies utilisées sont JDom et Jaxen. Voici les jars nécessaires: • jdom.jar : définition des interfaces • jaxen-core.jar : pour le parsing • jaxen-jdom.jar : implémentation d'XPath • saxpath.jar : pour construire le fichier Dom

  12. Exemple de mise en œuvre

  13. Fichier xml:etudiants.xml <?xml version="1.0" encoding="UTF-8"?> <etudiants> <etudiant id="1"> <nom> Sahnoune</nom> <Prenom> Hanane </Prenom> <annee-ins> 2010</annee-ins> </etudiant> <etudiant id="2"> <nom> Khattaby </nom> <Prenom> Zineb </Prenom> <annee-ins> 2010</annee-ins> </etudiant> <nbreetudiant> 3 </nbreetudiant> </etudiants>

  14. XPathxpath = XPathFactory.newInstance().newXPath();XPathExpressionrequet = xpath.compile("/etudiants/etudiant[@id='1']/nom");System.out.println("Selectionner le nom de l'etudiant qui a comme identifant 1"); Object result = requet.evaluate(document, XPathConstants.NODESET);NodeListnodes = (NodeList) result;for (int i = 0; i < nodes.getLength(); i++) {System.out.println(nodes.item(i).getNodeName()); }}} import java.io.*; import org.jdom.*; import org.jdom.input.*; import org.w3c.dom.NodeList; import javax.xml.xpath.*; public class Etudiants { staticorg.jdom.Documentdocument; public static void main(String[] args) throws XPathExpressionException{ SAXBuildersxb = new SAXBuilder(); try { document = sxb.build(new File("etudiant.xml")); } catch(Exception e){} Fichier etudiants.java

  15. Conclusion la technologie XPath permet d’effectuer des requêtes dans un document XML.XPath est aux documents XML, ce qu’est SQL aux bases de données.cette technologie est intégrée sur d'autres plateformes telles que Java.

  16. Merci pour votre attention

More Related