Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web 2014-2015 1.

Slides:



Advertisements
Présentations similaires
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.
Advertisements

Transformation de documents XML
DTD Sylvain Salvati
Introspection et Réflexion Manipulation dynamique de code Java.
(Classes prédéfinies – API Java)
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
Annie Danzart, Christine Potier
SVG: Scalable Vector Graphics
SVG: Scalable Vector Graphics
Manipulation d’XML avec XSL
Jérôme CUTRONA AJAX Jérôme CUTRONA 01:07:47 Programmation Web
Introduction aux Web Services Partie 1. Technologies HTML-XML
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Javascript les spécificités du langage - Partie 2-
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Présentation Struts1-JaxB
Faculté I&C, Claude Petitpierre, André Maurer What is this ? (Quest ce que this ?)
Introduction à DOM Maroua Bouzid
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Principes de programmation (suite)
28 novembre 2012 Grégory Petit
Type de contenu. © Partouche David / 2007 version 0.1 Colonne de site Une colonne de site permet de définir un champs qui sera exploitable au sein de.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Points importants de la semaine Les classes et les objets. Les classes dExcel. Les objets dExcel. Les objets de la classe Range.
Le langage Javascript pour le web et application au DHTML
Manipulation de formulaires en Javascript
Staf2x - Tecfa - UniGE 1 Traitement XML avec DOM PHP 5 – XML – DOM Dajana Kapusova – TECFA - UNIGE.
Arbres DOM (OC informatique, EPFL)
IFT 6800 Atelier en Technologies d’information
JSP (Java Server Pages)
JavaScript.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Projet de Master première année 2007 / 2008
Arbres DOM et XML (OC informatique, EPFL). html head body table html headbody table tr td texte1texte2 tr td texte3texte4 Deux représentations d’un arbre.
D.O.M. Modèle Objet de Document
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
PROGRAMMATION WEB FRONT-END.
JavaScript Nécessaire Web.
4 Introduction des objets. Les chaînes et tableaux
Introduction à JavaScript
Initiation à Python et à Latex
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Les balises HTML et les objets JavaScript correspondants Objet document L'objet document est important dans la mesure ou il contient tous les objets du.
 Objet window, la fenêtre du navigateur
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
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
Résumé des concepts liés aux objets C. Petitpierre, EPFL.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Strings et Tableaux en Java
S'initier au HTML et aux feuilles de style CSS Cours 5.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
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.
AJAX Jérôme CUTRONA 06:28:58 Programmation Web
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.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
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.
Vers la modularisation des données du web XHTML. Qu'est-ce que XHTML ? ● XHTML est une famille de types de documents futurs et actuels et de modules :
M2202 – Algorithmique – T.BAUSER. Objectifs Utiliser Jquery pour : - modifier/ajouter/supprimer un élément/un attribut/une classe, - créer des animations,
Le langage XML Documents bien formés Un document XML est dit bien formé lorsque le document est correct sans toutefois posséder une DTD. Le prologue du.
Lire et manipuler du XML...
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
Programmation Web : DOM en PHP
Transcription de la présentation:

Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web

I NTRODUCTION 211:06:45 Programmation Web

DOM = Document Object Model  API (Application Programming Interface) pour la manipulation de HTML / XML  Définit la structure logique des documents  Définit la façon d’y accéder, de la manipuler  Créer des documents  Parcourir leur structure  Ajouter, effacer, modifier des éléments  Ajouter, effacer, modifier leur contenu 311:06:45 Programmation Web

Qu’est-ce que le DOM ?  Représentation arborescente du document  Modèle objet (structure + méthodes)  Permet la manipulation du document  Des implémentations : JavaScript JavaScript PHP PHP Java Java … 411:06:45 Programmation Web

E N J AVA S CRIPT 511:06:45 Programmation Web

Exemple XML  DOM JavaScript Aquilon Aquilon 1 1 Bobo Bobo :06:45 Programmation Web

Exemple XML  DOM JavaScript 711:06:45 Programmation Web liste animalidani="AC001-03" noman visites Aquilon1 animalidani="AC001-01" noman visites Bobo3 ¶·· ¶···· ¶···· ¶·· ¶···· ¶···· ¶····¶···· ¶ <liste> Aquilon Aquilon 1 1 Bobo Bobo 3 3 </liste>

Exemple XML  DOM JavaScript 811:06:45 Programmation Web liste animalidani="AC001-03" noman visites Aquilon1 animalidani="AC001-01" noman visites Bobo3 ¶·· ¶···· ¶···· ¶·· ¶···· ¶···· ¶····¶···· ¶·· loadXMLDoc().documentElement.getElementsByTagName( 'animal') 'animal') [0].getAttribute('idani').getElementsByTagName( 'noman')[0].firstChild.nodeValue

Exploiter des données au format XML  Objet XML : getElementsByTagName(n)  Collection de nœuds getElementsByTagName(n)  Collection de nœuds  Collection de nœuds : length  nombre d'éléments length  nombre d'éléments [x]  accès au x éme élément [x]  accès au x éme élément  Nœud : firstChild  Premier fils firstChild  Premier fils childNodes  Collection de fils childNodes  Collection de fils hasChildNodes()  Possède des fils ? hasChildNodes()  Possède des fils ? nodeValue  Valeur du nœud nodeValue  Valeur du nœud nodeName  Nom du nœud nodeName  Nom du nœud getAttribute(a)  Valeur de l'attribut getAttribute(a)  Valeur de l'attribut 911:06:45 Programmation Web

E N PHP 1011:06:45 Programmation Web

DOM PHP  API DOM orientée objet en PHP  Principales classes : DOMNode DOMNode DOMElement DOMElement DOMText DOMText DOMDocument DOMDocument DOMNodeList DOMNodeList  Permettent la lecture ou la création d’un fichier XML ou HTML  Utilise la table de caractères utf-8  utiliser iconv et les fonctions mb_* 1111:06:45 Programmation Web

Classe DOMNode  Nœud de l’arbre DOM  Principaux attributs : public readonly string $nodeName ; public readonly string $nodeName ; public string $nodeValue ; public string $nodeValue ; public readonly int $nodeType ; public readonly int $nodeType ; public readonly DOMNode $parentNode ; public readonly DOMNode $parentNode ; public readonly DOMNodeList $childNodes ; public readonly DOMNodeList $childNodes ; public readonly DOMNode $firstChild ; public readonly DOMNode $firstChild ; 1211:06:45 Programmation Web

Classe DOMNode  Principales méthodes : DOMNode appendChild ( DOMNode $newnode ) DOMNode appendChild ( DOMNode $newnode ) bool hasAttributes ( void ) bool hasAttributes ( void ) bool hasChildNodes ( void ) bool hasChildNodes ( void ) DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] ) DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] ) DOMNode removeChild ( DOMNode $oldnode ) DOMNode removeChild ( DOMNode $oldnode ) DOMNode replaceChild ( DOMNode $newnode, DOMNode $oldnode ) DOMNode replaceChild ( DOMNode $newnode, DOMNode $oldnode ) 1311:06:45 Programmation Web

Classe DOMElement  Nœud balise de l’arbre DOM  Hérite de DOMNode  Principal attribut propre : readonly public string $tagName ; readonly public string $tagName ;  Principales méthodes propres : string getAttribute ( string $name ) string getAttribute ( string $name ) DOMNodeList getElementsByTagName ( string $name ) DOMNodeList getElementsByTagName ( string $name ) bool hasAttribute ( string $name ) bool hasAttribute ( string $name ) bool removeAttribute ( string $name ) bool removeAttribute ( string $name ) DOMAttr setAttribute ( string $name, string $value ) DOMAttr setAttribute ( string $name, string $value ) void setIdAttribute ( string $name, bool $isId ) void setIdAttribute ( string $name, bool $isId ) 1411:06:45 Programmation Web

Classe DOMDocument  Représente un document HTML ou XML entier  Hérite de DOMNode  Principales méthodes : bool loadHTMLFile ( string $ filename ) bool loadHTMLFile ( string $ filename ) mixed load ( string $filename [, int $options = 0 ] ) mixed load ( string $filename [, int $options = 0 ] ) string saveHTML ( void ) string saveHTML ( void ) string saveXML ([ DOMNode $node [, int $options ]] ) string saveXML ([ DOMNode $node [, int $options ]] ) DOMElement createElement ( string $name [, string $value ] ) DOMElement createElement ( string $name [, string $value ] ) DOMAttr createAttribute ( string $name ) DOMAttr createAttribute ( string $name ) DOMText createTextNode ( string $content ) DOMText createTextNode ( string $content ) DOMElement getElementById ( string $elementId ) DOMElement getElementById ( string $elementId ) DOMNodeList getElementsByTagName ( string $name ) DOMNodeList getElementsByTagName ( string $name ) 1511:06:45 Programmation Web

Classe DOMNodeList  Collection de nœuds DOM  Résultat des recherches effectuées avec DOMNodeList getElementsByTagName ( string $name ) des classes DOMElement et DOMDocument  Principal attribut : readonly public int $length ; readonly public int $length ;  Principale méthode : DOMNode item ( int $index ) DOMNode item ( int $index ) 1611:06:45 Programmation Web

P RÉCISIONS IMPORTANTES 1711:06:45 Programmation Web

Informations générales  Le DOM est une API générale, ne dépendant pas d’un langage  Les classes et méthodes sont très similaires quel que soit le langage utilisé  Les spécificités de chaque langage doivent cependant être respectés (syntaxe !)  Les fichiers XML ne sont pas forcément validés avant exploitation  Ne pas faire trop de suppositions quant à l’ordre des balises : getElementsByTagName 1811:06:45 Programmation Web

Le cas getElementsByTagName  Dans beaucoup de cas, la navigation dans le DOM se fera en cherchant des éléments à partir de leur nom  collection getElement s ByTagName(nom_élément)  Méthode de la classe noeudDOM  Retourne une collection = un tableau  getElementsByTagName n’existe pas 1911:06:45 Programmation Web