我有一个XML文件,我通过邮寄收到。
<response>
<id>D234>/id>
<Logs>
<time>UTC</time>
<Alarms>
</Alarms>
</Logs>
</response>
有时它可能很少有报警日志
<response>
<id>D234>/id>
<Logs>
<time>UTC</time>
<Alarms>
<Log>
<LD>Reset </LD>
<utc>1383704429</utc>
</Log>
<Log>
<LD>Triggered </LD>
<utc>1383601449</utc>
</Log>
</Alarms>
</Logs>
</response>
我想检查
<Alarms>
是否有子节点,然后形成一个查询将它们插入到db中。我试过xpath。我能找到孩子们在不在,我能数数。没问题。
$xml = simplexml_load_string(POST_DATA);
$alarms = $xml->xpath('Logs/Alarms');
echo count($alarms);
但是怎样才能穿过每一根原木呢?这样我就可以形成一个查询进入数据库。我不知所措。
我怎样才能得到
Log0->time
? 最佳答案
试试这个:-
$alarms = $xml->xpath('Logs/Alarms/Log');
foreach ($alarms as $oneAlarm) {
echo $oneAlarm->LD . "\n";
echo $oneAlarm->utc . "\n";
}