循环的simplexml属性

时间:2014-06-19 10:57:31

标签: xml parsing simplexml

我想在html表中输出xml数据

我怎样才能获得所有属性TITLE,ARTIST在带有foreach循环的表格中,而无需手工编写它们

<thead>
    <tr>
        <th>TITLE</th>
        <th>ARTIST</th>
    </tr>
</thead>

使用此代码我获取xml数据。

    $xml = new SimpleXMLElement('http://www.w3schools.com/xml/cd_catalog.xml', 0, true);

  foreach($xml->CD as $cd)
    {

    echo '<tr>';
    echo '<td>'.$cd->TITLE.'</td>';
    echo '<td>'.$cd->ARTIST.'</td>';
    echo '</tr>';

    }

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想动态写入标题和内容,为此你需要定义一个根节点(例如,这将是CD)

$ xml = new SimpleXMLElement('http://www.w3schools.com/xml/cd_catalog.xml',0,true);

echo '<table>';
echo '<thead>';
echo '    <tr>';
foreach ($xml->CD[0]->children() as $child)
{
    echo '<th>'.$child->getName().'</th>';
}
echo '    </tr>';
echo '</thead>';

foreach($xml->CD as $cd) {
    echo '<tr>';
    foreach ($cd->children() as $child) {
      echo '<td>'.$child.'</td>';
    }
    echo '</tr>';

}

echo '</table>';

像这样的东西