DOMDocument::getElementById

(PHP 5, PHP 7)

DOMDocument::getElementByIdCherche un élément avec un certain identifiant

Description

public DOMDocument::getElementById ( string $elementId ) : DOMElement

Cette fonction est similaire à la fonction DOMDocument::getElementsByTagName mais cherche un élément avec un identifiant donné.

Pour que cette fonction fonctionne, vous devez soit définir les attributs ID avec DOMElement::setIdAttribute ou définir une DTD qui définit un attribut devant être de type ID. Dans le dernier cas, vous devez valider votre document avec DOMDocument::validate ou DOMDocument::$validateOnParse avant d'utiliser cette fonction.

Liste de paramètres

elementId

La valeur de l'identifiant unique pour un élément.

Valeurs de retour

Retourne un DOMElement ou NULL si l'élément n'est pas trouvé.

Exemples

Exemple #1 Exemple avec DOMDocument::getElementById()

L'exemple suivant utilise le fichier book.xml, dont le contenu est :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books [
  <!ELEMENT books   (book+)>
  <!ELEMENT book    (title, author+, xhtml:blurb?)>
  <!ELEMENT title   (#PCDATA)>
  <!ELEMENT blurb   (#PCDATA)>
  <!ELEMENT author  (#PCDATA)>
  <!ATTLIST books   xmlns        CDATA  #IMPLIED>
  <!ATTLIST books   xmlns:xhtml  CDATA  #IMPLIED>
  <!ATTLIST book    id           ID     #IMPLIED>
  <!ATTLIST author  email        CDATA  #IMPLIED>
]>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<books xmlns="http://books.php/" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <book id="php-basics">
    <title>PHP Basics</title>
    <author email="[email protected]">Jim Smith</author>
    <author email="[email protected]">Jane Smith</author>
    <xhtml:blurb><![CDATA[
<p><em>PHP Basics</em> provides an introduction to PHP.</p>
]]></xhtml:blurb>
  </book>
  <book id="php-advanced">
    <title>PHP Advanced Programming</title>
    <author email="[email protected]">Jon Doe</author>
  </book>
</books>
<?php

$doc 
= new DomDocument;

// Nous devons valider notre document avant de nous référer à l'ID
$doc->validateOnParse true;
$doc->Load('book.xml');

echo 
"L'élément dont l'ID est 'php-basics' est : " $doc->getElementById('php-basics')->tagName "\n";

?>

L'exemple ci-dessus va afficher :

L'élément dont l'ID est 'php-basics' est : chapter

Voir aussi