2012-06-27 104 views
0

我有一個xml文檔,我試圖使用xpath訪問某個子元素的值。xpath返回simplexmlelement對象不值

$xml = new SimpleXMLElement($url,null,true); 
$value = $xml->xpath("/xxx/yyy/zzz"); 

當我使用:

print_r($value); 

。OUPUTS如下:

Array 
(
    [0] => SimpleXMLElement Object 
     (
      [0] => 1003.39 
     ) 

) 

我可以通過做訪問SimpleXMLElement對象的值如下:

echo $value[0] 

但我不想sto重新定義$ value中的SimpleXMLElement對象。我想將對象值存儲在$ value中。

例如我想用:

echo $value 

返回

1003.39 

什麼我需要在

$value = $xml->xpath("/xxx/yyy/zzz"); 

爲了返回值,而不是對象的改變?

p.s.如果我使用(string)強制轉換爲字符串,那麼我的print_r或echo $值會打印「Array」而不是值!

回答

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);