我有一个xml文档,我试图使用xpath访问某个子元素的值。
$xml = new SimpleXMLElement($url,null,true);
$value = $xml->xpath("/xxx/yyy/zzz");
当我使用时:
print_r($value);
输出以下内容:
Array
(
[0] => SimpleXMLElement Object
(
[0] => 1003.39
)
)
我可以通过执行以下操作来访问SimpleXMLElement对象的值:
echo $value[0]
但是我不想将SimpleXMLElement对象存储在$ value中。我想将对象值存储在$ value中。
e.g。我想用:
echo $value
返回
1003.39
我需要更改
$value = $xml->xpath("/xxx/yyy/zzz");
为了返回值,而不是对象?
P.S。如果我使用(string)转换为字符串,那么我的print_r或echo $值将打印“Array”而不是值!
答案 0 :(得分:1)
->xpath()
按定义返回一个数组,所以:
$result = $xml->xpath("/xxx/yyy/zzz");
$value = $result[0];
然后是:
$value = (string)$value;
或者:
$value = strval($value);
如果您希望将整个数组转换为字符串:
$result = $xml->xpath("/xxx/yyy/zzz");
$result = array_map('strval',$result);