牛、豚、鶏、どれか一つ食べられなくなるとしたら?

いつもお世話になっております。

オブジェクト型(object)と文字列(string)の比較がうまくいかずに
困っている次第です。
ご教授願えないでしょうか。


[sample.xml}
<item>
<data0>
<cd>00001</cd>
<nm>yahoo</nm>
</data0>
<data1>
<cd>00002</cd>
<nm>google</nm>
</data1>


[php]
$nm = 'google'
$filename = sample.xml

$j = 0;
if($xml = simplexml_load_file($file_name)){
$cnt = count($xml);
for($i=0; $i<$cnt; $i++){
$data = 'data' .$i;
if($nm != $xml->$data->nm){
$data[$j++] = $xml->$data->nm;
}
}
}

上記とした際、$nm != $xml->$data->nm が有効な比較となりません。
gettypeで調べたら、$nmはstring $xml->$data->nmはobjectとなっていたので、
オブジェクトをstrvalで変換をしてみたのですが変わらず。

どうにか比較できるようにしたいのですが、
お手数ですが、宜しくお願い致します。

A 回答 (1件)

$simple_xml = simplexml_load_file($file_name);



$data = $simple_xml->xpath( '/item/*[starts-with(local-name(),"data")]/nm[text()!="google"' );
    • good
    • 0
この回答へのお礼

対応有難う御座います。

助かりました。

お礼日時:2011/11/29 15:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!