XML DOM. Marc Chevaldonné marc.chevaldonne@u-clermont1.fr http://marc.chevaldonne.free.fr. Année scolaire 2010-2011



Documents pareils
Document Object Model (DOM)

< _155_0>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Programmation des Applications Réparties. Parsers XML DOM et SAX

DOM - Document Object Model

Groupe Eyrolles, 2004 ISBN :

Introduction aux concepts d ez Publish

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

BD et XML : Exercices

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

L'API DOM : Document Object Model

4. SERVICES WEB REST 46

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

XML et Bases de données. Les bases de données XML natives.

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Master d Informatique Corrigé du partiel novembre 2010

Les structures de données. Rajae El Ouazzani

NFE204 Bases de données avancées

Générer du code à partir d une description de haut niveau

Utilisation de Jakarta Tomcat

DMP1 DSFT des Interfaces DMP des LPS Annexe : complément de spécification sur l impression des documents à remettre au patient

Systèmes d information et bases de données (niveau 1)

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Solutions en ligne Guide de l utilisateur

BASE DE DONNÉES XML NATIVE

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

Programmation Web. Madalina Croitoru IUT Montpellier

A. Architecture du serveur Tomcat 6

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Webmaster / Webdesigner / Wordpress

Guide d utilisation. Version document 0.8. Trouver toute la documentation sur :

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programmation Internet Cours 4

1 Modélisation d être mauvais payeur

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

DotNet. Plan. Les outils de développement

as Architecture des Systèmes d Information

Présentation Alfresco

Utiliser Améliorer Prêcher. Introduction à LDAP

FreePlane 1.1 Kris Bostoen Drève des Soupirs Bierghes (Rebecq) Juin 2010

Entraînement au concours ACM-ICPC

Organiser le disque dur Dossiers Fichiers

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

Annexe C Spécification pour les fichiers importés en format XML

Documentation RBS Change E-Commerce Core

Les technologies du Big Data

Découvrir l'ordinateur (niveau 2)

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

SOMMAIRE

Big Data et Graphes : Quelques pistes de recherche

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

INF601 : Algorithme et Structure de données

Styler un document sous OpenOffice 4.0

Évaluation et implémentation des langages

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

les techniques d'extraction, les formulaires et intégration dans un site WEB

Bureautique Initiation Excel-Powerpoint

Mise à jour : Octobre 2011

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

PROSOP : un système de gestion de bases de données prosopographiques

GUIDE ADMINISTRATEUR COMMENT ADMINISTRER SIMPLEMENT?

JACi400 Développement JACi400 Déploiement

XML et recherche d information

arcopole Studio Version 3.1

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Baccalauréat professionnel GESTION ADMINISTRATION

Outils logiciels pour l'ingénierie documentaire

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Devenez un véritable développeur web en 3 mois!

Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

SQL Parser XML Xquery : Approche de détection des injections SQL

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

La base de données XML exist. A. Belaïd

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Formation : WEbMaster

ECLIPSE ET PDT (Php development tools)

VOLÉE Master of Advanced Studies RAPID APPLICATION DEVELOPMENT.

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Mise en place du Module Magento ShoppingFlux

Introduction aux services Active Directory

Transcription:

XML DOM Marc Chevaldonné marc.chevaldonne@u-clermont1.fr http://marc.chevaldonne.free.fr Année scolaire 2010-2011

DOM - Qu est-ce que c est? DOM = Document Object Model API pour accéder et utiliser des documents XML en tant que structures arborescentes défini par un ensemble de recommandations du W3C modèle objet indépendant du langage de programmation défini les objets, les propriétés et les méthodes pour y accéder (interface) stocke les documents hiérarchiques en mémoire XML DOM = standard sur : «comment accéder, changer, ajouter ou supprimer des éléments XML»

Les noeuds (Nodes) Pour DOM, tout ce qu il y a dans un document XML est un noeud (Node) Node Document Node : le document en entier Element Node : chaque élément XML Text Node : le texte dans un élément XML Attribute Node : chaque attribut Comment Node : chaque commentaire

L arbre de noeuds (node tree) - exemple

L arbre de noeuds (node tree) - exemple racine = root 1 parentnode par élément (sauf le root) 1 ou plusieurs sous-éléments (childnodes) par élément Les siblings sont les frères. Ce sont des noeuds avec le même père firstchild et lastchild

Parser DOM Un programme d analyse syntaxique XML DOM (DOM parser) transforme un document XML en arbre DOM document XML DOM parser arbre DOM L interface est indépendante du langage La même pour Java, C++, C, C#, JavaScript... L interface regroupe un ensemble de propriétés et de méthodes

Propriétés et méthodes Propriétés : représentent quelque chose dans l arbre DOM Méthodes : représentent une action sur l arbre DOM Exemples de propriétés : x.nodename : le nom du noeud x x.nodevalue : la valeur du noeud x x.parentnode : le père du noeud x x.childnodes : la liste des enfants du noeud x x.attributes : la liste des attributs du noeud x x.firstchild : le premier noeud fils du noeud x x.lastchild : le dernier noeud fils du noeud x x.previoussibling : le noeud précédent le noeud x et ayant le même père que x x.nextsibling : le noeud suivant le noeud x et ayant le même père que x x.namespaceuri : l espace de noms dans lequel le noeud x est qualifié x.prefix : le préfixe utilisé devant la partie locale du noeud x x.localname : partie locale du nom du noeud x

Propriétés et méthodes Propriétés : représentent quelque chose dans l arbre DOM Méthodes : représentent une action sur l arbre DOM Exemples de méthodes : x.getelementsbytagname(name) : récupèrent tous les éléments avec un nom de balise donné x.appendchild(node) : ajoute un sous-élément (node) au noeud x x.removechild(node) : retire un sous-élément (nodeà au noeud x x.getattributenode : récupère un attribut du noeud x x.setattribute : modifie ou ajoute un attribut du noeud x x.removeattribute : retire un attribut au noeud x doc.createelement : création d un élément dans le documentnode doc doc.createattribute : création d un attribut dans le documentnode doc

Propriétés et méthodes - exemple texte = xmldoc.getelementsbytagname(«disque»)[0].childnodes[1].childnodes[0].nodevalue muziq = xmldoc.getelementsbytagname(«artiste»)[1].childnodes[0].nodevalue où xmldoc représente le documentnode de l arbre texte =? ; muziq =? <?xml version="1.0" encoding="utf-8"?> <discothèque> <disque> <titre>a Love Supreme</titre> <artiste>john Coltrane</artiste> </disque> <disque nb="3"> <titre>retrospective</titre> <artiste>charlie Parker</artiste> </disque> </discothèque>

Propriétés et méthodes - exemple texte = xmldoc.getelementsbytagname(«disque»)[0].childnodes[1].childnodes[0].nodevalue muziq = xmldoc.getelementsbytagname(«artiste»)[1].childnodes[0].nodevalue où xmldoc représente le documentnode de l arbre texte = «A Love Supreme» ; muziq = «Charlie Parker» <?xml version="1.0" encoding="utf-8"?> <discothèque> <disque> <titre>a Love Supreme</titre> <artiste>john Coltrane</artiste> </disque> <disque nb="3"> <titre>retrospective</titre> <artiste>charlie Parker</artiste> </disque> </discothèque>

Accéder à un noeud en utilisant getelementsbytagname ( ) par itération sur tous les noeuds de l arbre (traversing) en navigant dans l arbre à l aide des liens entre les noeuds à l aide d un motif XPath (cf. semaine 6)

Liste de noeuds : Node List Cette interface permet d accéder au contenu d un noeud généralement utilisée pour rechercher des noeuds de texte ou des sous-éléments x.childnodes est de type NodeList x.getelementsbytagname ( ) est de type NodeList Liste ordonnée dans le même ordre que dans le document XML

Liste d attributs : Named Node Map Cette interface est utilisée pour des listes non triées dont le contenu est identifié par un nom => les attributs x.attributes est de type NamedNodeMap exemple : x.attributes.getnameditem(«blabla»).nodevalue accède au contenu de l attribut «blabla» du noeud x