Php/docs/class.domdocument

提供:Dev Guides
< Php
移動先:案内検索

(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 readonly DOMImplementation $implementation

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 __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 に設定すると、 DOMDocument::load()optionLIBXML_NOBLANKS を渡すのと同じ効果があります。

recover

プロプライエタリ。 リカバリーモードを有効にし、整形式でないドキュメントのパースを試みます。 この属性は DOM の仕様にはなく、libxml に固有のものです。

resolveExternals

文書型宣言で外部エンティティを読み込む際に true を設定する。 XML ドキュメントに文字エンティティを含める際に便利です。

standalone

非推奨。 そのドキュメントがスタンドアローンかどうかを 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 エンコーディングを使います。ISO-8859-1 エンコーディングのテキストを扱う場合は utf8_encode()utf8_decode() を使ってください。ISO-8859-1 以外のエンコーディングの場合は iconv を使ってください。

注意:

DOMDocument オブジェクトに対して json_encode() を使うと、結果は空オブジェクトをエンコードしたものになります。

目次