PHPではDOMでノードの操作ができます(XMLやXHTMLのタグに直接アクセスできる)。
まず、馴染みの深い(あくまでも自分はだけど)Flash(as2.0)でのDOMの指定例。
var myXML = new XML(); //XMLインスタンスを作成
myXML.load("sample.xml"); //XML文書よみこみ
/* onLoadイベント発生後… */
trace(myXML.firstChild.nodeName); //ルート要素ノード名を出力
続いてPHP4での例
$dom = domxml_open_file("sample.xml"); //DOMドキュメントインスタンス生成
$root = $dom->first_child(); //ルート要素ノードを返す
echo $root->node_name(); //ルート要素ノード名を出力
続いてPHP5での例(テスト環境が無いので未チェック)
$dom = new DOMDocument(); //DOMドキュメントインスタンスを生成
$dom->load("sample.xml"); //XML読込
echo $dom->firstChild->nodeName; //ルート要素ノード名を出力
FlashとPHP5は構文がほとんど同じなので、FlashでDOMを習得していれば移行が容易かと。
問題はPHP4。いくつか大きな違いがある。
まず、first_child、node_nameなどネーミングが独自のもの。(規則性はあるので難しくは無い。)
次に、first_child、node_nameなどがDOMの規格ではプロパティであるのに、PHP4ではメソッドとして扱われている。これが厄介。$dom->first_child->node_name;という具合に連続してノードを辿れない。つまり、$node=$dom->first_child();というように変数に代入してやる必要がある。(もしかしたら他にも記述方があるのかも知れないけど。。。)
追記:
$dom = domxml_open_file("sample.xml"); //DOMドキュメントインスタンス生成
$root = $dom->first_child(); //ルート要素ノードを返す
echo $root->node_name(); //ルート要素ノード名を出力
とするよりも
$dom = domxml_open_file("sample.xml"); //DOMドキュメントインスタンス生成
$root = $dom->document_element(); //ルート要素ノードを返す
echo $root->node_name(); //ルート要素ノード名を出力
のほうが確実。
$dom->first_child();だとファイル構成によっては上手くルート要素を取得できないみたい。