0

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

为了返回值,而不是对象?

ps 如果我使用 (string) 转换为字符串,那么我的 print_r 或 echo $value 会打印“Array”而不是值!

4

1 回答 1

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);
于 2012-06-27T18:51:04.880 回答