DOMDocument クラス
(PHP 5, PHP 7, PHP 8)
はじめに
HTML ドキュメントあるいは XML ドキュメント全体を表し、 ドキュメントツリーのルートとなります。
クラス概要
$namespace
, string $qualifiedName
, string $value
= ""): DOMElement|false$target
, string $data
= ""): DOMProcessingInstruction|falsebool
$exclusive
= false
,bool
$withComments
= false
,?array
$xpath
= null
,?array
$nsPrefixes
= null
): string|false
プロパティ
- actualEncoding
-
非推奨。ドキュメントの実際のエンコーディング。 読み込み専用で、 encoding と同等の内容です。
- childElementCount
-
子要素の数
- config
-
非推奨。 DOMDocument::normalizeDocument() を実行する際に使用する設定。
- doctype
-
このドキュメントに関連付けられた文書型宣言
- documentElement
-
最初のドキュメント要素を示す DOMElement オブジェクト。 存在しない場合は
null
になります。 - documentURI
-
ドキュメントの位置。未定義の場合は
null
- encoding
-
XML 宣言で指定したドキュメントのエンコーディング。 この属性は、DOM Level 3 の最終的な仕様には存在しません。 しかし、この実装で XML ドキュメントのエンコーディングを扱うにはこれを使用するしかありません。
- firstElementChild
-
最初の子要素。存在しない場合は
null
になります。 - formatOutput
-
字下げや空白を考慮してきれいに整形した出力を行う。 これは、ドキュメントを preserveWhitespace を有効にして読み込んだ場合は効果がありません。
- implementation
-
このドキュメントを処理する DOMImplementation オブジェクト
- lastElementChild
-
最後の子要素。存在しない場合は
null
になります。 - preserveWhiteSpace
-
余分な空白を取り除かない。デフォルトは
true
false
に設定すると、 DOMDocument::load() のoption
にLIBXML_NOBLANKS
を渡すのと同じ効果があります。 - recover
-
非標準。 リカバリーモードを有効にし、整形式でないドキュメントのパースを試みます。 この属性は DOM の仕様にはなく、libxml 固有の独自仕様です。
- resolveExternals
-
文書型宣言で外部エンティティを読み込む際に
true
を設定する。 XML ドキュメントに文字エンティティを含める際に便利です。 - standalone
-
非推奨。 そのドキュメントがスタンドアローンかどうかを XML 宣言で指定したもの。 xmlStandalone に対応します。
- strictErrorChecking
-
エラー時に DOMException をスローする。デフォルトは
true
- substituteEntities
-
非標準。 エンティティの置換を行うかどうか。 この属性は DOM の仕様にはなく、libxml 固有の独自仕様です。 デフォルトは
false
です。警告エンティティの置換を有効にすると、XML外部エンティティ参照攻撃(XXE) を容易にしてしまうかもしれません。
- validateOnParse
-
DTD を読み込んで検証する。デフォルトは
false
警告DTD の検証を有効にすると、XML外部エンティティ参照攻撃(XXE) を容易にしてしまうかもしれません。