PHP选择嵌套对象数组中对象中的XML属性
我在抓取和迭代一些被隐藏的XML数据时遇到了问题。我可以让对象打印,但不仅仅是单个属性值 下面是简化的XML。巢穴是准确的PHP选择嵌套对象数组中对象中的XML属性,php,arrays,xml,loops,object,Php,Arrays,Xml,Loops,Object,我在抓取和迭代一些被隐藏的XML数据时遇到了问题。我可以让对象打印,但不仅仅是单个属性值 下面是简化的XML。巢穴是准确的 SimpleXMLElement Object ( [@attributes] => Array ( [amenity] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array (
SimpleXMLElement Object (
[@attributes] => Array (
[amenity] => Array (
[0] => SimpleXMLElement Object (
[@attributes] => Array (
[distance] => Within Facility
[name] => Biking
)
)
[1] => SimpleXMLElement Object (
[@attributes] => Array (
[distance] => Within Facility
[name] => Bird Watching
)
)
...
)
)
)
我想抓住/呼应每一个设施的名称
$amenitiesSet = $xml->amenity;
foreach ($amenitiesSet as $am) {
print_r($am[0]);
}
抓住每个物体。每一次深入的尝试都是失败的。我知道我错过了一些简单的东西。我不确定什么时候使用[I]
,['string']
,->
等等。我对使用XML数据集是新手
类似于
$am[0]->name
好吧,我终于想出了一个解决办法。这样做的诀窍是循环对象数组中的对象,然后将对象属性更改为字符串。然后我可以建立一个列表。这是最后一个循环代码
foreach($xml->amenity as $AMN){
$amNameItem = (string)$AMN['name'];
$amList .= $amNameItem.', ';
}
不知道这是否是最好的解决方案,但至少我可以从xml对象数组中的对象数组中获取对象属性列表