2013-07-02 32 views
0

复杂的XML,我有以下复杂,不太好结构的XML:解析使用PHP

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

$总游戏作品正确;然而 - 当我尝试解析子事件时,我无法获取eventName,hometeam,日期等。

+4

您是否在使用DomDocument,SimpleXML或其他库? – Webnet

+0

按语法显示为SimpleXML。 –

+0

更好地尝试修复xml而不是尝试强制您的DOM库尝试处理错误输入。如果只需要将''附加到该xml字符串以使其格式良好,那么就走这条轻松的道路。 –

回答

5

要访问属性,您需要使用数组下标而不是类成员语法。这工作我使用XML作为输入:

​​

PHP的Basic SimpleXML usage页面是在这种情况下,一个很好的资源。

+0

这就是我的想法,但我没有得到任何返回的语法? – timw07

+0

XML是否真的格式不正确? –

+0

下面是XML的真实位置 - 我无法弄清楚如何使用simpleXML解析它:http://odds.betgun.com/makeBB.php?id=WTA_WIMBLEDON – timw07