我不确定如何拨打我想要的电话,所以如果您能提供更准确的字词,我会更新我的问题。
我想从这样的XML网站获取数据:
<body>
<predictions>
<message text="message"/>
</predictions>
<predictions>
<direction title="Dir1">
<prediction epochTime="1521560640000" seconds="724" minutes="12" isDeparture="true" affectedByLayover="true" dirTag="paciland" vehicle="1606" block="22"/>
</direction>
</predictions>
</body>
我希望得到秒(或分钟......)值。
我找到了有关从以下结构中获取数据的信息:
<body>
<predictions>
<message text="message"/>
</predictions>
<predictions>
<direction title="Dir1">
<prediction>
epochTime="1521560640000"
seconds="724"
minutes="12"
isDeparture="true"
affectedByLayover="true"
dirTag="paciland"
vehicle="1606"
block="22"
</prediction>
</direction>
</predictions>
</body>
数据不在标签中的位置。
我从未使用过SimpleXML,所以我对如何实现这一点感到有些困惑。
答案 0 :(得分:2)
可以使用$element['attribute_name']
来完成使用simpleXML访问属性。
以下是从seconds
标记获取<prediction>
属性的示例。
$xml = '<body>
<predictions>
<message text="message"/>
</predictions>
<predictions>
<direction title="Dir1">
<prediction epochTime="1521560640000" seconds="724" minutes="12" isDeparture="true" affectedByLayover="true" dirTag="paciland" vehicle="1606" block="22"/>
</direction>
</predictions>
</body>';
$xmlobj = simplexml_load_string($xml);
foreach ($xmlobj->predictions as $prediction) {
if (isset($prediction->direction)) {
echo $prediction->direction->prediction['minutes'];
echo $prediction->direction->prediction['seconds'];
}
}