2011-08-15 14 views
3

から値を取得するこんにちは、私はXMLのこの次のセグメントを持っている:SimpleXMLElementオブジェクト

...... 
      <Result number="4" position="1" points="25"> 
       <Driver driverId="button" url="http://en.wikipedia.org/wiki/Jenson_Button"> 
        <GivenName>Jenson</GivenName> 
        <FamilyName>Button</FamilyName> 
        <DateOfBirth>1980-01-19</DateOfBirth> 
        <Nationality>British</Nationality> 
       </Driver> 
...... 

私はGIVENNAMEを取得するには簡単に以下のように使用することができます。

$item->Driver->GivenName; 

しかし、私は使用します。

$item->Driver->FamilyName; 

SimpleXMLElementオブジェクトを取得しました

私は周りを見て、それが文字列に渡すことと関係があるかもしれないが、私は画面上に何も得られないことがわかった。 SimpleXMLElementオブジェクトさえありません。

私はそれがGivenNameの兄弟であり、動作しているとは分かりません。

print_r ($item->Driver->GivenName); 
print_r ($item->Driver->FamilyName); 

出力::

SimpleXMLElement Object 
(
    [0] => Jenson 
) 
SimpleXMLElement Object 
(
    [0] => Button 
) 

は、あなたが取得するために明示的なキャストを使用することができます

+0

SimpleXMLObjectのが返されます。 I.E: コードを投稿できますか? –

答えて

6

は、あなたがしますprint_r()を使用する場合は表示されますどちらの場合も、中にSimpleXMLElementオブジェクトを取得します文字列としての値:

$givenNameString = (string) $item->Driver->GivenName; 
$familyNameString = (string) $item->Driver->FamilyName; 
1

PHPに理解させるには、belのようなオブジェクトに強制的に型キャストする必要がありますOW:

$givenName = (array) $item->Driver->GivenName; 
$familyName = (array) $item->Driver->FamilyName; 

print_r($givenName); 
print_r($familyName); 

OUTPUTは:ネストされた要素(子供が)あります場合、またはXMLタグが空の場合

Array ([0] => 'Jenson') 
Array ([0] => 'Button') 
関連する問題