我有一个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中。
例如,我想使用:
echo $value
返回
1003.39
我需要更改什么
$value = $xml->xpath("/xxx/yyy/zzz");
为了返回值,而不是对象?
附言如果我使用 (字符串) 转换为字符串,那么我的print_r或回显$value打印"数组"而不是值!
->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);