0

xpath を使用して特定の子要素の値にアクセスしようとしている xml ドキュメントがあります。

$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 に答える