Programmation Web : DOM en PHP

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

Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
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
Introduction à DOM Maroua Bouzid
Staf2x - Tecfa - UniGE 1 Traitement XML avec DOM PHP 5 – XML – DOM Dajana Kapusova – TECFA - UNIGE.
Arbres DOM (OC informatique, EPFL)
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
JavaScript Nécessaire Web.
Initiation à Python et à Latex
Programmation Web : Introduction à XML
 Syntaxe du langage PHP
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
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
eXtensible Markup Language. Généralités sur le XML.
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.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
Le DOM Le Document Object Model (DOM) est une interface de programmation pour les documents HTML et XML Il fournit une représentation structurée du document.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
Java – XML Eric Blaudez 05 - Partie II.
Le Langage JavaScript pour le web
Cross-Plateform Cours JavaScript
Lire et manipuler du XML...
JAVA.
Ajouter le code dans une page html
1.le DOM Introduction une page web est un document contenant du texte ainsi que des balises qui permettent de structurer ce document, en décrivant des.
Modèle objet : les classes
Asynchronous Javascript And Xml
Environnement de développement des BD
LES TABLEAUX EN JAVA.
Les notions de classe et d'objet
Pointeurs et langage C.
JavaScript.
Collecte de données CAPI
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
LE MASHUP.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
PHP Création et manipulation d'images
Présentation de JQUERY
Asynchronous Javascript And Xml
Asynchronous Javascript And Xml
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Programmation Android GUI (widgets) et ressources
PHP Création et manipulation d'images
Catherine Cyrot - bibliothèques numériques - Cours 5
Programmation Android Les listes
Catherine Cyrot - bibliothèques numériques - Cours 5
Programmation PHP / PDO
20 Données semi-structurées et XML
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD
Le langage C# : Partie 1.
Catherine Cyrot - bibliothèques numériques - Cours 5
DOM (document object model)
Definition de html sommaire. Présentation de html, css et javascript Module 1.
Bases de données Singleton pour la connexion
LINQ. LINQ (Language-Integrated Query) est une nouveauté du.NET Framework 3.5 C’est le nom d’un ensemble de technologies basé sur l’intégration de fonctions.
Site web, Ce qu’il faut savoir ?
Transcription de la présentation:

Programmation Web : DOM en PHP Jérôme CUTRONA jerome.cutrona@univ-reims.fr 13:34:00 Programmation Web 2018-2019

Introduction 13:34:00 Programmation Web 2018-2019

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 2018-2019

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 2018-2019

En JavaScript 13:34:00 Programmation Web 2018-2019

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 2018-2019

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 2018-2019

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 2018-2019

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 2018-2019

En PHP 13:34:00 Programmation Web 2018-2019

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 2018-2019

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 2018-2019

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 2018-2019

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 2018-2019

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 2018-2019

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 2018-2019

Précisions importantes 13:34:00 Programmation Web 2018-2019

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 2018-2019

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 2018-2019