我需要抓取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/>';
}
答案 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>';