31.05.2005 Staf2x - Tecfa - UniGE 1 Traitement XML avec DOM PHP 5 – XML – DOM Dajana Kapusova – TECFA - UNIGE.

Slides:



Advertisements
Présentations similaires
Le struts validator – framework de validation
Advertisements

DOM Document Object Model. Généralités Standard du W3C Parseur XML – Génération dun arbre dobjet – Construction totale de larbre DOM est spécifié en IDL.
Transformation de documents XML
DTD Sylvain Salvati
Les espaces de nommage XML par Philippe Poulard 1
Approfondissement du langage
(Classes prédéfinies – API Java)
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Données structurées et XML
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
le langage les éléments
Les fonctions de XPath et XSLT
Nicolas Singer Maître de conférence, université Champollion
version Beta Marie Calberg Ninni Louhelainen SLFN7
Manipulation d’XML avec XSL
CREATION DE FEUILLE DE STYLE pour structuré le document XML
XSL-FO THEORIE PRATIQUE.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
CPI/BTS 2 Programmation Web Introduction au PHP
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Introduction à DOM Maroua Bouzid
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Web Structurel
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
FICHIERS : Définition : Algorithme général:
Xpath XML Path language par Yves Bekkers
Manipulation de formulaires en Javascript
Rappel (très) succint d’éléments techniques (XML, DTD, XSL, PHP)
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Projet de Master première année 2007 / 2008
23/03/05SE Info2 - S. L'haire UNIGE1 TP 7 PROCEDURE Inserer(VAR a, crt : AgendaPtr; j, h : INTEGER; IN s : Chaine); VAR nouveau, temp : AgendaPtr; BEGIN.
PHP & My SQL.
JavaScript Nécessaire Web.
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
LE HTML ISN Terminale S Un peu d’histoire …
Initiation à Python et à Latex
Le langage XML.
XPath XML Path UP Web Année universitaire
Créer des packages.
Plan de la leçon Réf. p. WRD- 149 Les styles Les listes hiérarchiques
Programmation Web : Introduction à XML
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
 Syntaxe du langage PHP
Strings et Tableaux en Java
PHP objet Jérôme CUTRONA 10:13:27 Programmation Web
Traitement de texte +.
Asynchronous JavaScript And XML AJAX C. Petitpierre
G.KEMBELLEC - UP81 Master 2 THYP Cas pratique d’utilisation De simpleXML Un lecteur de RSS Novembre 2009.
 Formulaires HTML : traiter les entrées utilisateur
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Dreamweaver Séance 1.
1 Présentation de DREAMWEAVER (1) Gaël TREMEAU GI05 Printemps 2006.
Présentation de Dreamveawer
DreamWeaver Séance 2 HMIDA Ahmed A2008. Plan 1.Calques 2.CSS 3.Modèles 4.Formulaires 5.Comportements 6.Mise en ligne.
Dreamweaver le retour Avec Les Formulaires Les Calques
Introduction au HTML Qu’est ce que le HTML ?
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
Programmation Web : DOM en PHP
Transcription de la présentation:

Staf2x - Tecfa - UniGE 1 Traitement XML avec DOM PHP 5 – XML – DOM Dajana Kapusova – TECFA - UNIGE

Staf2x - Tecfa - UniGE2 DOM (Document Object Model) API pour décomposer le contenu dun document HTML ou XML en une arborescence de nœuds recommandation du W3C (norme du web), consiste à représenter en mémoire le contenu dun document HTML ou XML sous la forme dune arborescence dobjets basé sur la bibliothèque libxml2 (parseur XML open source du projet GNOME) avantage: création de nouveaux documents, ajouts déléments inconvénient: complexe, verbeux, parfois long pour faire des choses simples

Staf2x - Tecfa - UniGE3 DOM spécifie des méthodes et propriétés permettant de: créer modifier extraire des données de nimporte quel élément ou contenu dun document XML

Staf2x - Tecfa - UniGE4 DOM définit les types: de relation entre chaque nœud des directions de déplacement dans une arborescence XML propriétés: parentNode (père), childNodes (enfants) firstChild (premier enfant), lastChild (dernier enfant) previousSibling (frère précédent), nextSibling (frère suivant)

Staf2x - Tecfa - UniGE5 PHP 5 Fonctions DOM Fonctions DOM XML

Staf2x - Tecfa - UniGE6 Les classes 1/5 domNode classe de base dont héritent presque toutes les autres représente un nœud de larbre et possède toutes les propriétés et méthodes nécessaires pour le manipuler domDocument est la « face visible de liceberg » (utilisée le plus) classe qui construit larbre et qui nous permet de le manipuler

Staf2x - Tecfa - UniGE7 Les classes 2/5 domElement représente un élément dun document Xml, càd une balise domDocumentFragment permet de manipuler un document Xml non complet domAttr représente un attribut dune balise domProcessingInstruction représente une « processing instruction », càd un bout de code contenu dans le document Xml

Staf2x - Tecfa - UniGE8 Les classes 3/5 domEntity représente une entité domEntityReference représente une référence sur une entité domDocumentType représente lattribut optionnel doctype du document Xml contient les éventuelles notations définies domCharacterData permet la manipulation de données textuelles au sein dun document Xml

Staf2x - Tecfa - UniGE9 Les classes 4/5 domComment représente un commentaire domText permet une manipulation du texte un peu plus poussée domCDATASection permet de manipuler les sections CDATA dun document Xml domNotation représente une notation dans une Dtd

Staf2x - Tecfa - UniGE10 Les objets 5/5 domException gère les exceptions Dom domImplementation décrit une implémentation et donne un moyen de linterroger sur ces fonctionnalités domNodeList encapsule une liste de domNode domNamedNodeMap encapsule une liste de domNode, en les rendant cette fois accessibles par leur nom

Staf2x - Tecfa - UniGE11 XML et représentation DOM The Rolling Stones

Staf2x - Tecfa - UniGE12 Exemple music.xml The Rolling Stones Exile On Main Street Aimee Mann I'm With Stupid Bachelor No. 2

Staf2x - Tecfa - UniGE13 Fichiers source music.xml – fichier XML music.php – exemple 1, 2 et 3 music.phps – code source musicnew.php – exemple 4 musicnew.phps – code source musicnew.xml – est crée avec lexemple 4 xml_dom.ppt – cette présentation ppt

Staf2x - Tecfa - UniGE14 Lire XML avec DOM domDocument class - construit larbre et nous permet de le manipuler création de lobjet $music = new domDocument; éliminer les espaces blancs $music->preserveWhiteSpace = false; charger un document à partir dun fichier $music->load(music.xml); charger un document à partir dune chaine de caractère $dom->loadXml( … );

Staf2x - Tecfa - UniGE15 Afficher les éléments Exemple 1: imprimer les noms de tous les artistes // récupérer les éléments par le nom de leurs tags $names = $music->getElementsByTagName('name'); // imprimer les éléments foreach ($names as $name) { // firstChild - le premier enfant de ce noeud // nodeValue - la valeur de ce noeud, dépendant de son type print $name->firstChild->nodeValue." "; }

Staf2x - Tecfa - UniGE16 Afficher les enfants dun noeud Exemple 2: imprimer tous les titres $albums =$music- >getElementsByTagName('albums'); foreach ($albums as $album) { print " "; // childNodes - un DOMNodeList qui contient tous les enfants de ce noeud foreach ($album-> childNodes as $title) { print " ".$title->firstChild- >nodeValue." "; } print " "; }

Staf2x - Tecfa - UniGE17 domElement Exemple 3: imprimer les artistes et leurs titres // documentElement - c'est un attribut de convenance qui permet l'accès direct à l'enfant d'un noeud qui est l'élément document de ce document. $artists = $music->documentElement; print " \n"; foreach ($artists->childNodes as $artist) { $names = $artist->getElementsByTagName('name'); // item - retourne un noeud selon son index $name = $names->item(0)-> firstChild->nodeValue; $titles =$artist->getElementsByTagName('title'); foreach ($titles as $title) { print " $name "; print " ".$title->firstChild->nodeValue." \n"; } print " \n";

Staf2x - Tecfa - UniGE18 Modification dun élément DOMCharacterData->appendData() ajoute la chaîne à la fin des données dans le noeud DOMCharacterData->appendData() DOMCharacterData->deleteData() supprime une sous-chaîne dans le noeud DOMCharacterData->deleteData() DOMCharacterData->insertData() insère une chaîne à la position spécifiée d'unité 16-bit DOMCharacterData->insertData() DOMCharacterData->replaceData() remplace une sous-chaîne dans le noeud DOMCharacterData node DOMCharacterData->replaceData() DOMCharacterData->substringData() extrait un morceaux de données dans le noeud DOMCharacterData->substringData()

Staf2x - Tecfa - UniGE19 Ecrire dans XML ajouter de nouvelles informations dans le document créer la nouvelle information $newAlbum = new domElement('title', 'Sticky Fingers'); ajouter la donnée au bon endroit de larbre voir Exemple 4: ajouter un nouvel album

Staf2x - Tecfa - UniGE20 Exercice travailler avec la page travaux …. à préciser …

Staf2x - Tecfa - UniGE21 Références PHP Magazine, PHP 5 Meets XML and the DOM, An Intro to PHP 5's rewritten DOM, XSLT, and XPath extensions, by Adam Trachtenberg PHP Magazine, PHP 5 Meets XML and the DOM, An Intro to PHP 5's rewritten DOM, XSLT, and XPath extensions, by Adam Trachtenberg Borde, Marhin et Thevenet, PHP 5. Créez votre site web dynamique, Micro Application, 2004 Document Object Model (DOM) définition, D.K.Schneider Document Object Model (DOM) définition, D.K.Schneider