我遇到了一个小问题。我正在使用Zoho CRM API,它返回一个格式如下的XML:
<response uri="/crm/private/xml/Contacts/getRecords">
<result>
<Contacts>
<row no="1">
<FL val="Contact Owner">
<![CDATA[ Kristo Vaher ]]>
</FL>
<FL val="Lead Source">
<![CDATA[ Partner ]]>
</FL>
</row>
</Contacts>
</result>
</response>
当我通过simplexml_load_string()创建一个XML对象时,它会在新对象中给我大部分的XML,但是它不会给我“FL”标签的“内部”字符串(CDATA元素),数据这实际上让我感兴趣
我的新SimpleXML对象只有以下数据:
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[val] => Contact Owner
)
)
我最好的猜测是,这是因为XML不应该以这种方式构建,我已经读过某个地方,如果它有属性,你的XML标签中没有内部内容,反之亦然(这是正确的吗?)。 / p>
我有什么选择?自己写一个解析器并不是一个选择。
谢谢!
答案 0 :(得分:1)
获取属性:
foreach ($value->attributes() as $key => $val){
// get all attributes
}
获取数据:
echo (string) $load->result->Contacts->row->FL[0];