【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 を返します。

【PHP8.x】simplexml_import_dom関数の使い方 | いっしー@Webエンジニア