php spot
phpが使えるレンタルサーバー特集
検索グラス
トップページへ

PHP用domxml
Pear-XMLTreeを使う」で紹介した、
PEARのXML_Treeによってツリー構造を実現してもよいのですが、domxmlエクステンションが利用できるサーバで使える場合はこちらで使った方がパフォーマンスは向上するでしょう。

以下に使い方をまとめます。

まず、最初に、

$dom = @domxml_open_file($senduri);

または、

$dom = @domxml_open_mem($xmlstr);

によって $dom オブジェクトを作成します。

domxml_open_file は既存ファイルや、外部URLがファイルとして開ける場合はURLとして渡します。

例)
domxml_open_file("a.xml");
domxml_open_file("http://foo/a.xml"); // php.ini でURL読み出し禁止の場合は使えない。

domxml_open_fileに成功したら、dom オブジェクトのメソッド document_element によって XMLのrootの要素を取得する。

$root = $dom->document_element();

$rootにはXML構造のルート要素が入ります。

次に、child_nodes メソッドによって root 要素の子を取得します。子は複数ある場合もあるのでforeachでループさせます。

<?php
$childs 
$root->child_nodes();
foreach (
$childs as $child) {
    echo 
$child->tagname."\n"// タグ名
    
echo "---".$child->get_content()."\n"// コンテンツ
}
?>

例えば、

<root>
<hoge>コンテンツ</hoge>
</root>

のような xml の場合、

hoge
---コンテンツ

のように表示させることができる。

dom の簡単なサンプル

<?php
$path 
"〜"// XMLパス(ファイル or URL)
$dom = @domxml_open_file($path);

$root $dom->document_element();
$childs $root->child_nodes();

foreach (
$childs as $child) {
    echo 
$child->tagname."\n"// タグ名
    
echo "---".$child->get_attribute("属性名")."\n"// 属性
    
echo "---".$child->get_content()."\n"// コンテンツ
}
?>

スポンサードリンク


管理人の新着ブログ記事

    プライバシーポリシー | お問い合わせ
copyright © 2003-2019 phpspot all rights reserved. powered by phpspot CMS.