Класс DOMDocument

(PHP 5, PHP 7)

Введение

Представляет все содержимое HTML- или XML-документа; служит корнем дерева документа.

Обзор классов

DOMDocument extends DOMNode {
/* Свойства */
public readonly string $actualEncoding ;
public readonly DOMConfiguration $config ;
public readonly DOMDocumentType $doctype ;
public readonly DOMElement $documentElement ;
public string|null $documentURI ;
public string $encoding ;
public bool $formatOutput ;
public bool $preserveWhiteSpace = true ;
public bool $recover ;
public bool $resolveExternals ;
public bool $standalone ;
public bool $strictErrorChecking = true ;
public bool $substituteEntities ;
public bool $validateOnParse = false ;
public string $version ;
public readonly string|null $xmlEncoding ;
public bool $xmlStandalone ;
public string $xmlVersion ;
/* Наследуемые свойства */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Наследуемые свойства */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Методы */
public __construct ( string $version = ? , string $encoding = ? )
public createAttribute ( string $name ) : DOMAttr
public createAttributeNS ( string $namespaceURI , string $qualifiedName ) : DOMAttr
public createCDATASection ( string $data ) : DOMCDATASection
public createComment ( string $data ) : DOMComment
public createElement ( string $name , string $value = ? ) : DOMElement
public createElementNS ( string $namespaceURI , string $qualifiedName , string $value = ? ) : DOMElement
public createEntityReference ( string $name ) : DOMEntityReference
public createProcessingInstruction ( string $target , string $data = ? ) : DOMProcessingInstruction
public createTextNode ( string $content ) : DOMText
public getElementById ( string $elementId ) : DOMElement
public getElementsByTagName ( string $name ) : DOMNodeList
public getElementsByTagNameNS ( string $namespaceURI , string $localName ) : DOMNodeList
public importNode ( DOMNode $importedNode , bool $deep = false ) : DOMNode
public load ( string $filename , int $options = 0 ) : mixed
public loadHTML ( string $source , int $options = 0 ) : bool
public loadHTMLFile ( string $filename , int $options = 0 ) : bool
public loadXML ( string $source , int $options = 0 ) : mixed
public normalizeDocument ( ) : void
public registerNodeClass ( string $baseclass , string $extendedclass ) : bool
public relaxNGValidate ( string $filename ) : bool
public relaxNGValidateSource ( string $source ) : bool
public save ( string $filename , int $options = 0 ) : int
public saveHTML ( DOMNode $node = NULL ) : string
public saveHTMLFile ( string $filename ) : int
public saveXML ( DOMNode $node = ? , int $options = 0 ) : string
public schemaValidate ( string $filename , int $flags = 0 ) : bool
public schemaValidateSource ( string $source , int $flags = ? ) : bool
public validate ( ) : bool
public xinclude ( int $options = 0 ) : int
/* Наследуемые методы */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = ? , bool $with_comments = ? , array $xpath = ? , array $ns_prefixes = ? ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $with_comments = false , array $xpath = ? , array $ns_prefixes = ? ) : int|false
public DOMNode::cloneNode ( bool $deep = ? ) : DOMNode
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $newnode , DOMNode $refnode = ? ) : DOMNode
public DOMNode::isDefaultNamespace ( string $namespaceURI ) : bool
public DOMNode::isSameNode ( DOMNode $node ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespaceURI ) : string
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $oldnode ) : DOMNode
public DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode ) : DOMNode
}

Свойства

actualEncoding

Устарело. Кодировка документа, является доступным только для чтения эквивалентом encoding.

config

Устарело. Конфигурация, используемая при вызове DOMDocument::normalizeDocument().

doctype

Объявление типа документа, соответствующее этому документу.

documentElement

Удобный атрибут, предоставляющий прямой доступ к дочернему узлу, как к элементу документа.

documentURI

Расположение документа или null, если оно не определено.

encoding

Кодировка документа, как указано в объявлении XML. Этот атрибут отсутствует в последней спецификации DOM Level 3, но является единственным способом манипулирования кодировкой XML-документа в этой реализации.

formatOutput

Форматирует вывод, добавляя отступы и дополнительные пробелы. Не работает, если документ был загружен с включенным параметром preserveWhitespace.

implementation

Объект класса DOMImplementation, обрабатывающий этот документ.

preserveWhiteSpace

Указание не убирать лишние пробелы и отступы. По умолчанию true. Установка этого значения на false имеет тот же эффект, что и передача LIBXML_NOBLANKS в качестве option в DOMDocument::load() и т.д.

recover

Проприетарное свойство. Включает режим восстановления, то есть пытается разобрать некорректно составленные (non-well formed) документы. Этот атрибут не является частью спецификации DOM и специфичен для libxml.

resolveExternals

Установите в true для загрузки внешних элементов из объявления типа документа. Может быть полезным при включении элементов с символьными данными в XML-документ.

standalone

Устарело. Указание, что документ не зависит от других XML-документов. Это можно определить из XML-объявления. Свойство связано с xmlStandalone.

strictErrorChecking

Выбрасывает исключение DOMException в случае возникновения ошибок. По умолчанию true.

substituteEntities

Патентованное свойство. Указывает, заменять или нет элементы документа. Этот атрибут не является частью спецификации DOM и специфичен для libxml.

Предостережение

Включение замещения объекта может облегчить атаки на внешний объект XML (XXE).

validateOnParse

Загружает DTD и проверяет документ на соответствие. По умолчанию false.

version

Устарело. Версия XML, соответствует xmlVersion.

xmlEncoding

Атрибут, определяющий, как часть XML-объявления, кодировку эту документа. Имеет значение null в случаях, когда атрибут не задан, либо значение неизвестно, если, например, документ создан в памяти.

xmlStandalone

Атрибут, определяющий, как часть XML-объявления, что документ является автономным. Принимает значение false, если не указан.

xmlVersion

Атрибут, определяющий, как часть XML-объявления, номер версии этого документа. Если объявления в документе нет, но есть поддержка всех особенностей "XML", значение равно "1.0".

Примечания

Замечание:

Модуль DOM использует кодировку UTF-8. Используйте utf8_encode() и utf8_decode() для работы с текстами в кодировке ISO-8859-1 или iconv для других кодировок.

Замечание:

При использовании json_encode() для объекта DOMDocument будет получен результат кодирования пустого объекта.

Содержание