我如何跟踪xml下一个孩子以使用php以正确的格式打印此html表

用户名

我想以xml格式从数据库中获取一些数据,并使用php将它们打印在html表中。

这是我的PHP代码:

$xml=simplexml_load_string($ru) or die("Error: Cannot create object");  
    echo '<table style="border: 1px solid black;  border-collapse: collapse;">';        
    foreach ($xml->employee->children() as $key=>$value){
                if($key == 'PAYMSTR_SALHDNM' ){                  
                    echo '<tr>';
                    echo '<th style="border: 1px solid black;  border-collapse: collapse;">'.$value.'</th>';                    
                    echo '<td  style="border: 1px solid black;  border-collapse: collapse;">'.$value.'</td>';
                    echo '</tr>';
                }
                else{
                    echo '<tr>';
                    echo '<th style="border: 1px solid black;  border-collapse: collapse;">'.$key.'</th>';
                    echo '<td  style="border: 1px solid black;  border-collapse: collapse;">'.$value.'</td>';
                    echo '</tr>';
                }
            }   
    echo '</table>';

现在我得到以下输出: 在此处输入图片说明

但是要使标签PAYMSTR_SALHDNM的每个值作为表头[完成],并使标签PAYMSTR_AMOUNT的每个值作为标签PAYMSTR_SALHDNM的表数据

如下图所示: 在此处输入图片说明

我想,如果我能以某种方式保持next $xml->employee->children()对其价值的了解,那么我就可以带来这种正确的格式。请对此提供帮助。

更新:这是我的桌子: 在此处输入图片说明

这是我的xml:

<employee><id>FMCSC00015</id><year>2016</year><month>1</month><paymstr_salhdnm>BASIC PAY</paymstr_salhdnm><paymstr_amount>35600</paymstr_amount><paymstr_salhdnm>ASSOCIATION SUBSCRIPTION</paymstr_salhdnm><paymstr_amount>240</paymstr_amount><paymstr_salhdnm>TELEPHONE ALLOWANCE</paymstr_salhdnm><paymstr_amount>800</paymstr_amount><paymstr_salhdnm>HOUSE RENT DEDUCTION</paymstr_salhdnm><paymstr_amount>2587.5</paymstr_amount><paymstr_salhdnm>MEDICAL ALLOWANCE</paymstr_salhdnm><paymstr_amount>700</paymstr_amount><paymstr_salhdnm>GAS BILL</paymstr_salhdnm><paymstr_amount>450</paymstr_amount><paymstr_salhdnm>DEARNESS ALLOWANCE</paymstr_salhdnm><paymstr_amount>6000</paymstr_amount><paymstr_salhdnm>LIFE INSURANCE PREMIUM (D)</paymstr_salhdnm><paymstr_amount>1718</paymstr_amount><paymstr_salhdnm>PF SUBSCRIPTION</paymstr_salhdnm><paymstr_amount>3560</paymstr_amount><paymstr_salhdnm>PF ADVANCE LOAN</paymstr_salhdnm><paymstr_amount>2796</paymstr_amount><paymstr_salhdnm>BENEVOLENT FUND</paymstr_salhdnm><paymstr_amount>1780</paymstr_amount><paymstr_salhdnm>HEALTH INSURANCE PREMIUM</paymstr_salhdnm><paymstr_amount>150</paymstr_amount><paymstr_salhdnm>STUDENT WELFARE</paymstr_salhdnm><paymstr_amount>3</paymstr_amount><paymstr_salhdnm>MUNICIPAL TAX &amp; SWEAPER CH.</paymstr_salhdnm><paymstr_amount>18</paymstr_amount><paymstr_salhdnm>STAIR CASE LIGHT CHARGES</paymstr_salhdnm><paymstr_amount>1.25</paymstr_amount><paymstr_salhdnm>CLUB</paymstr_salhdnm><paymstr_amount>207</paymstr_amount><paymstr_salhdnm>TEACHER'S FAMILY WELFARE ASSOC</paymstr_salhdnm><paymstr_amount>10</paymstr_amount><paymstr_salhdnm>MOTOR GARAGE</paymstr_salhdnm><paymstr_amount>500.5</paymstr_amount><paymstr_salhdnm>RESEARCH ALLOWANCE</paymstr_salhdnm><paymstr_amount>1500</paymstr_amount><paymstr_salhdnm>SONALI BANK LOAN-3</paymstr_salhdnm><paymstr_amount>5728</paymstr_amount><paymstr_salhdnm>SONALI BANK LOAN-4</paymstr_salhdnm><paymstr_amount>23490</paymstr_amount></employee>
黑格

这是一个解决方案。基本思想是……

  • 在第一个循环中,提取所有标头数据
    (前三个标头项目要预先初始化),
  • 在第二个循环中,选择数据并构建表,其中循环索引是头表的索引。

代码

    <?php
    $ru = "..."; // Has pre-defined content
    $xml=simplexml_load_string($ru) or die("Error: Cannot create object");  

    // Collect and create headers
    $headers = array('ID', 'YEAR', 'MONTH'); // Pre-define headers
    foreach ($xml->paymstr_salhdnm as $key=>$header) {
        $headers[] = (string)$header;
    }

    // Create data table
    $hindex=0;
    echo '<table style="border: 1px solid black;  border-collapse: collapse;">'; 
    foreach ($xml->children() as $key=>$value){
        if (strtolower($key) == 'paymstr_salhdnm' ) continue; // header data, so ignore
        echo '<tr>';
        echo '   <td style="border: 1px solid black;  border-collapse: collapse;">'.((isset($headers[$hindex])) ? $headers[$hindex] : '&nbsp;').'</td>';
        echo '   <td style="border: 1px solid black;  border-collapse: collapse;">'.$value.'</td>';
        echo '</tr>';
        $hindex++;
    }
    echo '</table>';
    ?>

结果

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何在树上移动到下一个孩子?

来自分类Dev

如何遍历xml数据以使用lxml删除下一个重复元素

来自分类Dev

无论如何,是否可以使用Python从HTML获得下一个文本元素?

来自分类Dev

使用表时,jQuery Next()无法正确突出显示下一个元素

来自分类Dev

下一个陈述如何正确?

来自分类Dev

如何使用javascript显示/打印当前日期和下一个日期

来自分类Dev

打印具有上一个和下一个值的语句。使用PHP的SUNDAY MONDAY程序

来自分类Dev

当最后一个已经使用时,如何使此代码选择数组中的下一个项目?

来自分类Dev

我如何获得下一个标签

来自分类Dev

如何到达HTML中的下一个元素

来自分类Dev

如何使用Java在mysql表中生成下一个值?

来自分类Dev

如何使用JavaScript在时间表中显示下一个每周重复日期?

来自分类Dev

如何使用Java在mysql表中生成下一个值?

来自分类Dev

我该如何锁定存储库,以使下一个要合并的存储库?

来自分类Dev

如何使用python(xml.etree.ElementTree)解决下一个迭代?

来自分类Dev

如何使用GeoCoding从我的位置获取下一个路口(道路)的名称

来自分类Dev

如何制作一个动态xml文件,我可以使用php通过js访问

来自分类Dev

使用C#选择数组中的下一个孩子

来自分类Dev

下一个音轨播放时如何停止此特定的音频播放器(HTML5 + JavaScript)

来自分类Dev

preg匹配以使用PHP在@符号之后和下一个空格之前获取文本

来自分类Dev

如何使用Beautiful Soup在HTML中查找文本的下一个实例?

来自分类Dev

如何使用jquery在html中获取下一个连续的相似标签

来自分类Dev

如何使用scrapy选择下一个节点

来自分类Dev

如何使用嵌入预测下一个单词

来自分类Dev

如何使用下一个按钮加载内容

来自分类Dev

如何使用jQuery查找下一个元素?

来自分类Dev

如何使用mysql显示下一个日期

来自分类Dev

如何使用nodejs按下一个键?

来自分类Dev

使用scrollTop滚动到下一个和上一个div,我该如何完成?

Related 相关文章

  1. 1

    我如何在树上移动到下一个孩子?

  2. 2

    如何遍历xml数据以使用lxml删除下一个重复元素

  3. 3

    无论如何,是否可以使用Python从HTML获得下一个文本元素?

  4. 4

    使用表时,jQuery Next()无法正确突出显示下一个元素

  5. 5

    下一个陈述如何正确?

  6. 6

    如何使用javascript显示/打印当前日期和下一个日期

  7. 7

    打印具有上一个和下一个值的语句。使用PHP的SUNDAY MONDAY程序

  8. 8

    当最后一个已经使用时,如何使此代码选择数组中的下一个项目?

  9. 9

    我如何获得下一个标签

  10. 10

    如何到达HTML中的下一个元素

  11. 11

    如何使用Java在mysql表中生成下一个值?

  12. 12

    如何使用JavaScript在时间表中显示下一个每周重复日期?

  13. 13

    如何使用Java在mysql表中生成下一个值?

  14. 14

    我该如何锁定存储库,以使下一个要合并的存储库?

  15. 15

    如何使用python(xml.etree.ElementTree)解决下一个迭代?

  16. 16

    如何使用GeoCoding从我的位置获取下一个路口(道路)的名称

  17. 17

    如何制作一个动态xml文件,我可以使用php通过js访问

  18. 18

    使用C#选择数组中的下一个孩子

  19. 19

    下一个音轨播放时如何停止此特定的音频播放器(HTML5 + JavaScript)

  20. 20

    preg匹配以使用PHP在@符号之后和下一个空格之前获取文本

  21. 21

    如何使用Beautiful Soup在HTML中查找文本的下一个实例?

  22. 22

    如何使用jquery在html中获取下一个连续的相似标签

  23. 23

    如何使用scrapy选择下一个节点

  24. 24

    如何使用嵌入预测下一个单词

  25. 25

    如何使用下一个按钮加载内容

  26. 26

    如何使用jQuery查找下一个元素?

  27. 27

    如何使用mysql显示下一个日期

  28. 28

    如何使用nodejs按下一个键?

  29. 29

    使用scrollTop滚动到下一个和上一个div,我该如何完成?

热门标签

归档