PHP で XML を読み書きする方法 (DOM)
D OMDocumentを利用して、PHP で XML を読み書きする方法をご紹介します。
URLから文字列としてXMLやSVGを読み込んで、DOMDocumentに読み込みます。
1 2 |
$xml = file_get_contents($_GET["url"]); $dom = new DOMDocument('1.0', 'UTF-8'); |
インデントをなくす
1 |
$dom->preserveWhiteSpace = false; |
出力時、整形する
1 |
$dom->formatOutput = true; |
ロード
1 |
$dom->loadXML($xml); |
ルート直下にノードを追加する
1 2 |
$node = $dom->createElement("data"); $root = $dom->appendChild($node); |
タグを検索し、1つ目を取得
1 |
$dom->getElementsByTagName("div")->item(0); |
attributeをセットする
1 2 |
$p = $dom->getElementsByTagName("svg")->item(0); $p->setAttribute("width","100"); |
attribute一覧
1 2 3 4 5 6 |
if ($p->hasAttributes()) { foreach ($p->attributes as $attr) { $name = $attr->nodeName; $value = $attr->nodeValue; } } |
XMLを保存
1 |
$xml = $dom->saveXML(); |