xpath 返回 simplexmlelement 对象不是值


xpath returning simplexmlelement object not value

我有一个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);