Php/docs/domdocument.getelementbyid

From Get docs

DOMDocument::getElementById

(PHP 5, PHP 7)

DOMDocument::getElementByIdSearches for an element with a certain id


Description

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

This function is similar to DOMDocument::getElementsByTagName but searches for an element with a given id.

For this function to work, you will need either to set some ID attributes with DOMElement::setIdAttribute or a DTD which defines an attribute to be of type ID. In the later case, you will need to validate your document with DOMDocument::validate or DOMDocument::$validateOnParse before using this function.


Parameters

elementId
The unique id value for an element.


Return Values

Returns the DOMElement or NULL if the element is not found.


Examples

Example #1 DOMDocument::getElementById() Example

The following examples use book.xml which contains the following:


<?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;// We need to validate our document before referring to the id$doc->validateOnParse = true;$doc->Load('book.xml');echo "The element whose id is 'php-basics' is: " . $doc->getElementById('php-basics')->tagName . "\n";?>

The above example will output:


The element whose id is 'php-basics' is: book 

See Also