(PHP 5, PHP 7)
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="[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;
// Нужно проверить документ перед тем как ссылаться по идентификатору
$doc->validateOnParse = true;
$doc->Load('book.xml');
echo "Элемент с идентификатором 'php-basics': " . $doc->getElementById('php-basics')->tagName . "\n";
?>
Результат выполнения данного примера:
Элемент с идентификатором 'php-basics': book