Класс DOMNode

(PHP 5, PHP 7, PHP 8)

Обзор класса

class DOMNode {
/* Константы */
public const int DOCUMENT_POSITION_DISCONNECTED = 0x1;
public const int DOCUMENT_POSITION_PRECEDING = 0x2;
public const int DOCUMENT_POSITION_FOLLOWING = 0x4;
public const int DOCUMENT_POSITION_CONTAINS = 0x8;
public const int DOCUMENT_POSITION_CONTAINED_BY = 0x10;
/* Свойства */
public readonly string $nodeName;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly ?DOMElement $parentElement;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly bool $isConnected;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
/* Методы */
public C14N(
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): string|false
public C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): int|false
public cloneNode(bool $deep = false): DOMNode|false
public getLineNo(): int
public getRootNode(?array $options = null): DOMNode
public insertBefore(DOMNode $node, ?DOMNode $child = null): DOMNode|false
public isDefaultNamespace(string $namespace): bool
public isEqualNode(?DOMNode $otherNode): bool
public isSameNode(DOMNode $otherNode): bool
public isSupported(string $feature, string $version): bool
public lookupPrefix(string $namespace): ?string
public normalize(): void
public replaceChild(DOMNode $node, DOMNode $child): DOMNode|false
public __sleep(): array
public __wakeup(): void
}

Предопределённые константы

DOMNode::DOCUMENT_POSITION_DISCONNECTED
Устанавливается, когда другой узел и опорный узел не размещаются в одном дереве.
DOMNode::DOCUMENT_POSITION_PRECEDING
Устанавливается, когда другой узел предшествует опорному узлу.
DOMNode::DOCUMENT_POSITION_FOLLOWING
Устанавливается, когда другой узел следует за опорным узлом.
DOMNode::DOCUMENT_POSITION_CONTAINS
Устанавливается, когда другой узел — предок опорного узла.
DOMNode::DOCUMENT_POSITION_CONTAINED_BY
Устанавливается, когда другой узел — потомок опорного узла.
DOMNode::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
Устанавливается, когда результат зависит от поведения, характерного для реализации, и оказывается непереносимым. Это иногда происходит с отключенными узлами или с узлами атрибутов.

Свойства

nodeName

Возвращает наиболее точное имя для текущего типа узла

nodeValue

Значение этого узла, в зависимости от его типа. Значения узлов DOMElement, в отличие от спецификации W3C, равны DOMNode::textContent, а не null.

nodeType

Возвращает тип узла. Константа семейства XML_*_NODE.

parentNode

Родительский узел узла. Возвращает null, если такого узла нет.

parentElement

Родительский элемент текущего элемента. Возвращает значение null, если такого элемента нет.

childNodes

Объект DOMNodeList, содержащий всех потомков узла. Если потомков нет, возвращается пустой объект DOMNodeList.

firstChild

Первый дочерний узел узла. Возвращает null, если такого узла нет.

lastChild

Последний дочерний узел текущего узла. Возвращает null, если такого узла нет.

previousSibling

Узел, непосредственно предшествующий текущему узлу. Возвращает null, если такого узла нет.

nextSibling

Узел, непосредственно следующий за узлом. Возвращает null, если такого узла нет.

attributes

Объект DOMNamedNodeMap, который содержит атрибуты узла (только если это DOMElement), иначе вернёт null.

isConnected

Указывает, присоединён ли узел к документу.

ownerDocument

Объект DOMDocument, связанный с текущим узлом, или null, если узел не связан с документом, например, узел отсоединён, или узел сам принадлежит типу DOMDocument.

namespaceURI

URI-пространство имён узла или null, если узел не указан.

prefix

Префикс пространства имён узла.

localName

Возвращает локальную часть квалифицированного имя узла.

baseURI

Абсолютный базовый URI узла или null, если реализация не получила абсолютный URI.

textContent

Текстовое содержимое узла и его потомков

Список изменений

Версия Описание
8.4.0 Добавили метод DOMNode::compareDocumentPosition().
8.4.0 Добавили константы DOMNode::DOCUMENT_POSITION_DISCONNECTED, DOMNode::DOCUMENT_POSITION_PRECEDING, DOMNode::DOCUMENT_POSITION_FOLLOWING, DOMNode::DOCUMENT_POSITION_CONTAINS, DOMNode::DOCUMENT_POSITION_CONTAINED_BY и DOMNode::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC.
8.3.0 Добавили методы DOMNode::contains() и DOMNode::isEqualNode().
8.3.0 Добавили свойства DOMNode::$parentElement и DOMNode::$isConnected.
8.0.0 Удалили нереализованные методы DOMNode::compareDocumentPosition(), DOMNode::isEqualNode(), DOMNode::getFeature(), DOMNode::setUserData() и DOMNode::getUserData().

Примечания

Замечание:

Модуль DOM работает с кодировкой UTF-8. Для работы с другими кодировками пользуются функциями mb_convert_encoding() или iconv(), или методом UConverter::transcode().

Содержание

  • DOMNode::appendChild — Добавляет новый дочерний узел в конец списка потомков
  • DOMNode::C14N — Канонизирует узлы в строку
  • DOMNode::C14NFile — Канонизировать узлы в файл
  • DOMNode::cloneNode — Клонирует узел
  • DOMNode::compareDocumentPosition — Сравнивает положение двух узлов
  • DOMNode::contains — Проверяет, содержит ли узел другой узел
  • DOMNode::getLineNo — Получает номер строки узла
  • DOMNode::getNodePath — Получение XPath узла
  • DOMNode::getRootNode — Получает корневой узел
  • DOMNode::hasAttributes — Проверяет, имеет ли данный узел атрибуты
  • DOMNode::hasChildNodes — Проверяет, имеет ли данный узел потомков
  • DOMNode::insertBefore — Добавляет новый дочерний узел перед указанным узлом
  • DOMNode::isDefaultNamespace — Проверяет, является ли указанный URI пространства имён узла пространством имён по умолчанию или нет
  • DOMNode::isEqualNode — Проверяет, что оба узла идентичны
  • DOMNode::isSameNode — Указывает, являются ли два узла одним и тем же узлом
  • DOMNode::isSupported — Проверяет, поддерживается ли возможность в определённой версии
  • DOMNode::lookupNamespaceURI — Получает URI пространства имён узла по префиксу
  • DOMNode::lookupPrefix — Получает префикс пространства имён узла из URI-идентификатора пространства имён
  • DOMNode::normalize — Нормализует узел
  • DOMNode::removeChild — Удаляет дочерний узел из списка потомков
  • DOMNode::replaceChild — Заменяет дочерний узел
  • DOMNode::__sleep — Запрещает сериализацию, если только методы сериализации не реализовали в подклассе
  • DOMNode::__wakeup — Запрещает десериализацию, если только методы десериализации не реализовали в подклассе