2012-02-08 5 views
0

Я разбираю XML-файл успешно в PHP, но испытываю трудности при анализе определенной записи, пытающейся вывести таблицу.PHP синтаксический анализ данных XML

Мой XML как следовать

<OutputData Name="ExchangeRate" ContentTypeID=""> 
    <DataTitle>Exchange</DataTitle> 
    <DataInfo> 
     <TABLE CLASS="DataTable"> 
      <TR><TD>1.00 GBP = 1.68 ALL</TD></TR> 
      <TR><TD>1.00 USD = 1.58 ALL</TD></TR> 
      <TR><TD>1.00 EUR = 1.35 ALL</TD></TR> 
      <TR><TD>Currency conversion rates as of January 2012</TD></TR> 
     </TABLE> 
    </DataInfo> 
</OutputData> 

если я пытаюсь вывести это таким образом $info = $outputinfo->DataInfo; Я получаю сообщение об ошибке.

любая помощь?

Мой код, как следовать

$xmlfile = $currenttitle.".xml"; 
$info = simplexml_load_file($xmlfile); 
$region = $country->Region[0]; 
$section = $region->Section; 
if($info){ 
    foreach ($region->Section as $sectioninfo){ 
    $title = $sectioninfo->SectionTitle; 
    echo "<b>$title</b><br />\n"; 
    $output = $sectioninfo->OutputData; 
    foreach ($sectioninfo->OutputData as $outputinfo){ 
     $titleinfo = $outputinfo->DataTitle; 
     $info = $outputinfo->DataInfo; 
    } 
    } 

для раздела выше, я получаю дисплей заголовка, как обмен, но таблица не отображается.

РЕШЕНИЕ Благодаря h4b0, который поставил меня в правильном направлении

$rowinfo = $outputinfo->DataInfo->TABLE->TR->TD; 
foreach ($outputinfo->DataInfo->TABLE->TR as $rowexchange){ 
    echo $rowexchange->TD."<br />"; 
} 
+1

Каков твой код для получения '$ outputinfo'? – Neal

+0

Как вы его разобрали? Что такое '$ outputinfo'? Какую ошибку вы получаете? –

+0

Без просмотра кода мы можем только догадываться ... $ info = $ outputinfo ['DataInfo']; – IOInterrupt

ответ

0

Я думаю, вы не получите сообщение об ошибке, если вы попытаетесь $info = $outputinfo->DataInfo->TABLE->TR->TD. Если я ошибаюсь, отправьте сообщение об ошибке.

+0

h4b0, вы указали мне в правильном направлении, кажется, что работаете и извлекаете данные с помощью $ info = $ outputinfo-> DataInfo-> TABLE-> TR-> TD, но как прокручивать каждый TR? – salocin

+1

'foreach ($ outputinfo-> DataInfo-> TABLE-> TR AS $ td) {}' – IOInterrupt

Смежные вопросы