我需要帮助以表格形式显示PHP文件的XML文件

时间:2015-06-22 08:00:08

标签: php xml attributes tabular

我需要抓取XML文件的内容并将其显示在表格中。由于它有各种级别,我需要它成为表中一个表内的表(Inception样式)。现在有了棘手的部分,我需要的信息是属性及其名称,但它们并不总是存在,我不知道属性的名称。我一直在尝试使用ViewBag.DeletionReason的递归函数失败。我一直在使用foreach(),然后我可以打印内容,但我不能以表格形式进行。我最接近解决方案就是这样(只是一个例子):

simplexml_load_file()

我非常感谢一些帮助,因为我似乎无法找到足够的信息。

完美的解决方案是一个运行整个文件的脚本,可以显示信息表,而无需关心标签名称或属性名称。下面是XML文件的示例。

for ($i = 0; $i <= 5 ; $i++){
    foreach($xml2->level_0[$i]->level_1[$j]->attributes() as $a => $b){
        echo $a . ' => ' . $b . '<br/>';
    }

2 个答案:

答案 0 :(得分:0)

试试这个:

$xml = simplexml_load_file($file);

echo '<table>';

foreach($xml->level_1->level_2 as $item){

    echo '<tr>';

    $End = $item->level_3_1->attributes()->End->__toString();
    echo "<td>$End</td>";

    $InvTypeCode = $item->level_3_1->attributes()->InvTypeCode->__toString();
    echo "<td>$InvTypeCode</td>";

    echo '</tr>';

}

echo '</table>';

答案 1 :(得分:0)

好的 - 试试这个......

$xml = simplexml_load_file($file);

echo '<table>';

foreach($xml->level_1->level_2 as $item){

    $level3 = $item->level_3_1->attributes();

    echo '<tr>';

    foreach($level3 as $name => $value){

        echo "<th>$name</th>";
        echo "<td>$value</td>";

    }

    echo '</tr>';

}

echo '</table>';