私は自分のPHPコードを最小限に単純化しましたが、単純なXMLノードの値を取得できません。私はいくつかの小さな詳細を見落としていないことを確認するためにドキュメントを再読し、私はそれを動作させることができません。PHP SimpleXML - 単一のノード値を取得できません。私は狂っていますか?
var_dump($xmlStrShipping); // So far, so good
/* Returns:
SimpleXMLElement Object
(
[Orders] => SimpleXMLElement Object
(
[Order] => SimpleXMLElement Object
(
[number] => Order number
[details] => SimpleXMLElement Object
(
)
)
)
)
*/
:その後、私は
数と
詳細にノードの値を取得することはできません
まず、私はこの非常に基本的なXMLに
$xmlStrShipping = simplexml_load_string('<?xml version="1.0" encoding="utf-8" ?>
<Shipping>
<Orders>
<Order>
<number>Order number</number>
<details></details>
</Order>
</Orders>
</Shipping>');
をロードし、私はちょうどのSimpleXMLElementオブジェクトを得続けます
。
var_dump($xmlStrShipping->Orders[0]->Order->number); // Why is this happening?
/* Returns
SimpleXMLElement Object
(
[0] => Order number
)
*/
。
var_dump($xmlStrShipping->Orders[0]->Order->number[0]); // What??
/* Returns
SimpleXMLElement Object
(
)
*/
なぜ私は数を取得することはできませんか?
なぜ詳細SimpleXMLElementオブジェクト空の文字列の代わりに?
をSimpleXMLElementオブジェクトcast $ test =(string)$ xmlStrShipping-> Orders [0] - > Order-> numberを使用してください。文字列値を取得する –
ドキュメントを見ると、彼らは私と同じように使用しており、SimpleXMLElementを返さず、コードを奇妙に見せるタイプキャストを使用する必要はありません。http:// php.net/simplexml_load_string – NaturalBornCamper