【PHP8.x】simplexml_import_dom関数の使い方
simplexml_import_dom関数は、DOM(Document Object Model)拡張機能によって生成されたXMLノードを、SimpleXML拡張機能のSimpleXMLElementオブジェクトに変換する関数です。
この関数を使用することで、DOMで詳細に解析されたXML文書の中から、特定の要素や属性をSimpleXMLの直感的でシンプルな方法で操作できるようになります。例えば、複雑なXMLドキュメントをDOMで読み込み、必要な部分を抽出した後に、SimpleXMLの便利な機能を使ってデータを扱うといった場面で役立ちます。これにより、DOMの持つ厳密なXML操作能力と、SimpleXMLの提供する手軽なデータアクセス方法の両方を活用できます。
第一引数には、SimpleXMLオブジェクトとしてインポートしたいDOMノード(DOMNode
クラスまたはその子クラスのインスタンス)を指定します。成功した場合、指定されたDOMノードとその子孫構造に対応するSimpleXMLElement
オブジェクトが返されます。これにより、XMLデータへのアクセスや変更がより手軽に行えるようになります。変換が失敗した場合は、ブール値のfalse
が返されます。この関数は、DOMで処理されたXMLの一部または全体を、SimpleXMLの簡潔な構文で操作するための橋渡し役として機能します。
基本的な使い方
構文(syntax)
<?php
$dom = new DOMDocument();
$dom->loadXML('<data><item id="1">Value A</item><item id="2">Value B</item></data>');
$sxml = simplexml_import_dom($dom);
echo $sxml->item[0]['id'];
?>
引数(parameters)
DOMNode $node, string $class_name = "SimpleXMLElement"
- DOMNode $node: インポートするDOMNodeオブジェクト
- string $class_name = "SimpleXMLElement": SimpleXMLElementのインスタンスとして使用するクラス名。デフォルトは"SimpleXMLElement"
戻り値(return)
?SimpleXMLElement
simplexml_import_dom 関数は、DOMDocument オブジェクトを SimpleXMLElement オブジェクトに変換して返します。変換に失敗した場合は null を返します。