Interroger un document en XPath

Table des matières
Introduction
1. Un peu d'histoire
2. Les API Java pour XML
Un premier exemple
1. Introduction
2. Structure de base d’un fichier XML
2.1. Un fichier XML simple
2.2. Notion d’espaces de noms
3. Un premier code pour lire un fichier XML
3.1. Lecture avec Dom4J
Description d’un document XML
1. Introduction
2. Organisation d'un document XML
2.1. Introduction
2.2. Nœuds dans un document XML
2.3. Relations entre nœuds dans un document XML
2.4. Ordre dans un document
2.5. Valeurs atomiques dans un document XML
2.6. Notion de PCDATA et CDATA
3. Document Type Definition (DTD)
3.1. Attacher un document à une DTD
3.2. Contenu d’une DTD
3.3. Exemple de DTD, analyse de web-app_2_3.dtd
4. XML Schema
4.1. Introduction
4.2. Un premier schéma
4.3. Attacher un document XML à un schéma
4.4. Types simples
4.5. Attribut
4.6. Restriction sur une déclaration
4.7. Types complexes
4.8. Contraindre un contenu simple
Lire et écrire du XML
1. Introduction
2. Utilisation de DOM4J
2.1. Introduction
2.2. Un premier exemple simple
2.3. Organisation de l'API
2.4. Classe Namespace
2.5. Classe QName
2.6. Interface Node
2.7. Interface Branch
2.8. Interface Document
2.9. Interface Element
2.10. Interface Attribute
2.11. Interface Text
3. Utilisation de Xerces
3.1. Introduction
3.2. Présentation de SAX
3.3. Présentation de DOM
Analyseur SAX en Xerces
1. Introduction
2. Création d'un analyseur SAX
2.1. Introduction
2.2. Objet DefaultHandler
2.3. Exemple d'analyse d'un fichier
3. Présentation de l'API
3.1. Interface ContentHandler
3.2. Interface ErrorHandler
3.3. Interface DTDHandler
3.4. Interface EntityResolver
3.5. Interface LexicalHandler
Manipuler un DOM en Xerces
1. Introduction
2. Création d'un DOM
3. Présentation de l'API
3.1. Organisation de l'API
3.2. Interface Node
3.3. Interface NodeList
3.4. Interface Element
3.5. Interface Attr
3.6. Interface CharacterData
3.7. Interface Comment
3.8. Interface CDATASection
3.9. Interface Text
3.10. Interface Entity
3.11. Interface EntityReference
3.12. Interface ProcessingInstruction
3.13. Interface Document
3.14. Interface DocumentFragment
3.15. Interface DocumentType
Interroger un document en XPath
1. Introduction, notion de nœud XML
2. Une première requête XPath
2.1. Un premier document à interroger
2.2. Une première requête
2.3. Forme d'une requête XPath

1. Introduction, notion de nœud XML

Comme nous l'avons vu, des machines, des systèmes et des applications s'échangent des volumes de données parfois très importants en XML. Nous avons vu deux approches pour lire et analyser ces documents : DOM et SAX. L'avantage de SAX est qu'il ne nécessite pas de recréer un modèle objet en mémoire pour transférer les informations se trouvant dans un document XML, dans une application Java (ou autre d'ailleurs), sous forme d'un graphe d'objets. XPath consistue une troisième façon d'accèder à ces informations. XPath est un langage simple, permettant d'écrire des requêtes sur un document XML. Techniquement, une requête est une chaîne de caractères, dont l'application sur un document XML permet de sélectionner un ensemble d'éléments. XPath a donc besoin d'un moteur pour fonctionner, qui puisse prendre une requête en entrée, et retourner l'ensemble de nœuds solution de cette requête. XPath est un standard du W3C, implémenté par différentes API dans de nombreux langages. Nous allons utiliser l'implémentation proposée par Dom4J pour nos exemples. Nous allons largement utiliser la notion de nœud XML dans la suite de ce chapitre, rappelons ici de quoi il s'agit dans le cas d'un document XML. Un nœud XML est toute chose que l'on peut trouver dans un DOM (Document Object Model) XML. Rappelons ici les principaux nœuds que nous avons vu :
  • les attributs ;
  • les éléments, dont l'élément racine et ses sous-éléments ;
  • le contenu textuel ;
  • les commentaires ;
  • le document type , pour la déclaration de la DTD.
API Java pour XML
Retour au blog Java le soir
Cours & Tutoriaux