(PHP 5, PHP 7, PHP 8)
DOMDocument::getElementById — Ищет элемент с определённым идентификатором
Эта функция похожа на DOMDocument::getElementsByTagName, но ищет элемент с заданным идентификатором.
Для работы этой функции необходимо установить атрибуты идентификаторов с помощью DOMElement::setIdAttribute, либо DTD, который определяет атрибут идентификатора типа. В последнем случае перед использованием этой функции вам необходимо будет проверить документ с помощью DOMDocument::validate или DOMDocument::$validateOnParse.
elementIdУникальный значение идентификатора элемента.
Возвращает объект DOMElement или null, если элемент
не найден.
Пример #1 Пример использования DOMDocument::getElementById()
Следующие примеры используют файл book.xml, который содержит следующие данные:
<?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="jim.smith@basics.php">Jim Smith</author>
<author email="jane.smith@basics.php">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="jon.doe@advanced.php">Jon Doe</author>
</book>
</books>
<?php
$doc = new DomDocument;
// Нужно проверить документ перед тем как ссылаться по идентификатору
$doc->validateOnParse = true;
$doc->load('examples/book.xml');
echo "Элемент с идентификатором 'php-basics': " . $doc->getElementById('php-basics')->tagName . "\n";
?>Результат выполнения приведённого примера:
Элемент с идентификатором 'php-basics': book