次の方法で simplexml-Object からノードを選択しますxpath
。
$x="<root>
<person>
<name>Julie</name>
<age>37</age>
<rating>5</rating>
</person>
<person>
<name>Greta</name>
<age>56</age>
<rating>7</rating>
</person>
<person>
<name>Kerstin</name>
<age>38</age>
<rating>10</rating>
</person>
</root>";
$xml = simplexml_load_string($x);
$person = $xml->xpath("//person[name='Greta']");
foreach ($person[0] as $k => $v)
echo "$k => $v<br />";
これは期待どおりに出力されています...
name => Greta<br />age => 56<br />rating => 7<br />
それから私は...
echo $person[0]['age'];
出力:
そうです、何もありません!なんで?
ライブで試してみてください @ http://3v4l.org/Voalu