(PHP 5, PHP 7, PHP 8)
dom_import_simplexml — SimpleXMLElement オブジェクトから DOMElement オブジェクトを取得する
この関数は、指定された node
(SimpleXMLElement のインスタンス)
を受けとり、
DOMAttr または DOMElement
をそれぞれ作成します。
新しい DOMNode は、
既にある同じXMLノードを SimpleXMLElement
として参照しています。
DOMAttr または DOMElement を返します。
バージョン | 説明 |
---|---|
8.0.0 |
この関数は、失敗時に null を返さなくなりました。
|
例1 dom_import_simplexml() を用いて SimpleXML を DOM にインポートする
<?php
$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');
if ($sxe === false) {
echo 'ドキュメントのパース中にエラー';
exit;
}
$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
echo 'XML の変換中にエラー';
exit;
}
$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);
echo $dom->saveXML();
?>
上の例の出力は以下となります。
<?xml version="1.0"?> <books><book><title>blah</title></book></books>
例2 Import SimpleXML into DOM and modify SimpleXML through DOM
Error handling omitted for brevity.
<?php
$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');
$elt = dom_import_simplexml($sxe);
$elt->setAttribute("foo", "bar");
echo $sxe->asXML();
?>
上の例の出力は以下となります。
<?xml version="1.0"?> <books foo="bar"><book><title>blah</title></book></books>