【问题标题】:Extract values from xml in php在php中从xml中提取值
【发布时间】:2012-07-02 05:00:01
【问题描述】:

在使用 simplexml_load_string php 函数从 api 调用中获取后,我有以下格式的 xml

SimpleXMLElement Object ( [@attributes] => Array ( [Code] => 0 [Description] => Success )
[XMLVersion] => 8.9.62 ) 

我将如何获得代码和描述的价值以进一步使用。

【问题讨论】:

  • 我试过这样 $res = simplexml_load_string(curl_exec($ch)); $result = get_object_vars($res); $res_info = get_object_vars($result['UserDetails']); //echo "
    "; print_r($res_info);回声“
    ”; $EmpID = $res_info['@attributes']['EmpID']; $FName = $res_info['FName']; $LName = $res_info['LName']; $Email = $res_info['Email']; $UserName = $res_info['UserName']; $TID = $res_info['TID'];它正在工作,但不是一个好方法
  • [@attributes] 产生问题,xml 更复杂
  • 如果您要发布一个示例 xml 文件...只是一个或两个节点,我认为您会得到更简洁和中肯的答案。

标签: php xml api


【解决方案1】:

根据您的代码,您应该能够以多种方式访问​​属性。假设 XML

<UserDetails Code="0" Description="Success">
    <FName>Bob</FName>
    etc...

从这里开始:

$res = simplexml_load_string(curl_exec($ch)); 
$result = get_object_vars($res); 
$res_info = get_object_vars($result['UserDetails']); 

那么以下任何一个都应该起作用:

// Accessing from the UserDetails SimpleXMLElement
echo $result['UserDetails']['Description'];
// Via the subsequent
echo $res_info['@attributes']['Description'];

如果这不起作用,也许您可​​以发布它来自的 XML 部分,或者您的代码正在转储您发布的对象。

【讨论】:

    猜你喜欢
    • 2013-02-15
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多