La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web 2014-2015 1."— Transcription de la présentation:

1 Programmation Web : DOM en PHP Jérôme CUTRONA jerome.cutrona@univ-reims.fr 11:06:45 Programmation Web 2014-2015 1

2 I NTRODUCTION 211:06:45 Programmation Web 2014-2015

3 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 2014-2015

4 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 2014-2015

5 E N J AVA S CRIPT 511:06:45 Programmation Web 2014-2015

6 Exemple XML  DOM JavaScript Aquilon Aquilon 1 1 Bobo Bobo 3 3 611:06:45 Programmation Web 2014-2015

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

8 Exemple XML  DOM JavaScript 811:06:45 Programmation Web 2014-2015 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

9 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 2014-2015

10 E N PHP 1011:06:45 Programmation Web 2014-2015

11 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 2014-2015

12 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 2014-2015

13 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 2014-2015

14 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 2014-2015

15 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 2014-2015

16 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 2014-2015

17 P RÉCISIONS IMPORTANTES 1711:06:45 Programmation Web 2014-2015

18 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 2014-2015

19 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 2014-2015


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

Présentations similaires


Annonces Google