XMLの子要素に属性(id等)が付いている場合、その属性名を指定してデータを取得する事ができます。
詳細は以下から。
XMLの属性名を検索・指定してデータを取得する方法
サンプルのXMLデータ(sample.xml)。
<?xml version="1.0" encoding="utf-8" ?> <SampleDataList> <SampleData id="hoge"> <Name>hoge_name</Name> <Content>hoge_content</Content> </SampleData> <SampleData id="moge"> <Name>moge_name</Name> <Content>moge_content</Content> </SampleData> </SampleDataList>
上記サンプルから『moge』のデータを取得してみます。
$xml_data = simplexml_load_file('sample.xml'); $moge_data = $xml_data->xpath('SampleData [@id="moge"]'); var_dump($moge_data); /* 実行結果 array(1) { [0]=> object(SimpleXMLElement)#2 (3) { ["@attributes"]=> array(1) { ["id"]=> string(4) "moge" } ["Name"]=> string(9) "moge_name" ["Content"]=> string(12) "moge_content" } } */
実行結果内の『@attributes』の値にアクセスする方法は下記記事が参考になります。
コメント