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

Présentations similaires


Présentation au sujet: "Programmation Web : DOM en PHP"— Transcription de la présentation:

1 Programmation Web : DOM en PHP
Jérôme CUTRONA 13:34:00 Programmation Web

2 Introduction 13:34:00 Programmation Web

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 13:34:00 Programmation Web

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 PHP Java 13:34:00 Programmation Web

5 En JavaScript 13:34:00 Programmation Web

6 Exemple XML  DOM JavaScript
<?xml version="1.0" encoding="UTF-8" ?> <liste> <animal idani="AC001-03"> <noman>Aquilon</noman> <visites>1</visites> </animal> <animal idani="AC001-01"> <noman>Bobo</noman> <visites>3</visites> </liste> 13:34:00 Programmation Web

7 Exemple XML  DOM JavaScript
liste ¶·· <?xml·version="1.0" ······encoding="UTF-8"·?>¶ <liste>¶ ··<animal·idani="AC001-03">¶ ····<noman>Aquilon</noman>¶ ····<visites>1</visites>¶ ··</animal>¶ ··<animal·idani="AC001-01">¶ ····<noman>Bobo</noman>¶ ····<visites>3</visites>¶ </liste>¶ ¶·· animal idani="AC001-03" animal idani="AC001-01" ¶···· ¶·· ¶···· ¶·· noman visites noman visites ¶···· ¶···· Aquilon 1 Bobo 3 13:34:00 Programmation Web

8 Exemple XML  DOM JavaScript
loadXMLDoc() .documentElement liste ¶·· .getElementsByTagName( 'animal') ¶·· animal idani="AC001-03" animal idani="AC001-01" [0] .getAttribute('idani') ¶···· ¶·· ¶···· ¶·· .getElementsByTagName( 'noman')[0] noman visites noman visites .firstChild ¶···· ¶···· .nodeValue Aquilon 1 Bobo 3 13:34:00 Programmation Web

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

10 En PHP 13:34:00 Programmation Web

11 DOM PHP API DOM orientée objet en PHP Principales classes :
DOMNode DOMElement DOMText DOMDocument 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_* 13:34:00 Programmation Web

12 Classe DOMNode Nœud de l’arbre DOM Principaux attributs :
public readonly string $nodeName ; public string $nodeValue ; public readonly int $nodeType ; public readonly DOMNode $parentNode ; public readonly DOMNodeList $childNodes ; public readonly DOMNode $firstChild ; 13:34:00 Programmation Web

13 Classe DOMNode Principales méthodes :
DOMNode appendChild ( DOMNode $newnode ) bool hasAttributes ( void ) bool hasChildNodes ( void ) DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] ) DOMNode removeChild ( DOMNode $oldnode ) DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode ) 13:34:00 Programmation Web

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

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

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 ; Principale méthode : DOMNode item ( int $index ) 13:34:00 Programmation Web

17 Précisions importantes
13:34:00 Programmation Web

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 13:34:00 Programmation Web

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 getElementsByTagName(nom_élément) Méthode de la classe noeudDOM Retourne une collection = un tableau contenant 0 à n éléments getElementsByTagName n’existe pas 13:34:00 Programmation Web


Télécharger ppt "Programmation Web : DOM en PHP"

Présentations similaires


Annonces Google