我在调用外部API后得到这个xml,我希望显示所有部分!第一个4(id,description,minRepeatInterval和active)我知道如何显示。我正在使用:
$xmlEvents = $response->getBody();
$xmldata = new SimpleXMLElement($xmlEvents);
foreach($xmldata->event as $eventData) {
$eventID = trim($eventData['id']);
$description = trim($eventData['description']);
$minRepeatInterval = trim($eventData['minRepeatInterval']);
$active = trim($eventData['active']);
剩下的我遇到了麻烦,我如何在触发器和动作标签中显示变量到我的php网站上?
<event>
<id>17730</id>
<description>lyset</description>
<minRepeatInterval>1800</minRepeatInterval>
<active>1</active>
<trigger method="1" deviceId="294445" id="18459" type="device" clientId="74144" />
<trigger minute="0" hour="9" id="18721" type="time" clientId="74144" />
<trigger method="1" deviceId="291896" id="19300" type="device" clientId="74144" />
<condition fromHour="7" fromMinute="0" toHour="23" toMinute="0" id="10361" type="time" group="8189" />
<action deviceId="291967" method="1" repeats="3" id="20846" type="device" delay="1" delayPolicy="restart" />
有人有答案吗? 安德烈亚斯
答案 0 :(得分:0)
这些是属性,这是访问它们的一种方式:
echo $xml->trigger[0]['type'];
输出:
device
trigger[0]
是选择第一个<trigger />
,选择属性就像一个关联数组。
阅读手册:http://www.php.net/manual/en/simplexml.examples-basic.php
在行动中看到它:https://eval.in/88785
答案 1 :(得分:0)
如果这是XML的开始,则不应迭代event元素。尝试在foreach中使用$ xmldata-&gt; children()。
在此处查看示例:http://pl1.php.net/manual/en/simplexmlelement.children.php