0

次のような複雑で構造化されていない XML があります。

<event hometeam="K.Kanepi" awayteam="S.Lisicki" eventName="K.Kanepi-S.Lisicki" date="02/07/2013" time="14:05" datetime="2013-07-02T14:05:00+02:00">
    <subevent title="Match odds" dsymbol="MATCH_ODDS">
        <selection name="home" odds="3.1500" slipURL="URI/en/add-bet/3187-02072013,1"/>
        <selection name="away" odds="1.3500" slipURL="URI/en/add-bet/3187-02072013,2"/>
    </subevent>

このコードを使用して解析しようとしています:

$total_games = $xml->event->count();

for ($i = 0; $i < $total_games; $i++) {
    echo $xml->event[$i]->subevent.title;

$total games は正しく動作します。ただし、サブイベントを解析しようとすると、イベント名、ホームチーム、日付などを取得できません。

4

1 に答える 1

5

属性にアクセスするには、クラス メンバーの構文ではなく、配列の添え字を使用する必要があります。これは、XMLを入力として使用して機能します:

<?
    $xml = simplexml_load_file('http://some.url.here/gimme.xml');

    $total_games = $xml->event->count();

    for ($i = 0; $i < $total_games; $i++) {
        echo $xml->event[$i]->subevent['title'];
        //       Note the syntax here ^^^^^^^^^
    }
?>

この場合、 PHP のBasic SimpleXML 使用法ページが適切なリソースになります。

于 2013-07-02T15:47:45.443 に答える