【问题标题】:PHP Iterate and Display XML dataPHP 迭代并显示 XML 数据
【发布时间】:2014-04-10 13:35:05
【问题描述】:

我需要读取 XML 数据并将它们显示在我的 HTML 页面上。 我正在使用 php 脚本来准备、解析和显示数据。

这是我的 XML 文件的示例:

<info>
    <data>
        <aaa>AAAA</aaa>
        <bbb>BBBB</bbb>
        <ccc>CCC</ccc>
        <aaa>RRRR</aaa>    (*)
        <bbb>PPPP</bbb>    (*)     
        <ccc>ZZZZ</ccc>    (*)
    </data>
     <data>
        <aaa>YYYY</aaa>
        <bbb>TTTT</bbb>
        <ccc>WWWW</ccc>
        <aaa>QQQQ</aaa>    (*)
        <bbb>PPPP</bbb>    (*)     
        <ccc>ZZZZ</ccc>    (*)
         ...
</info>

我能够读取标签“aaa”、“bbb”、“ccc”的第一个值(对于每个“数据”标签),但不能读取其他标签(注意:标签是相同的,值而是改变)。我不知道如何访问这些值(请参阅标记 (*))

这里尝试迭代 XML 结构的代码:

 $myConf = simplexml_load_file('data.xml');
 for ($i = 0; $i < sizeof($myConf->data); $i++) {
     echo '<td>'.$myConf->data[$i]->aaa.'<BR>'.$myConf->data[$i]->bbb.'</td>'
 }

【问题讨论】:

    标签: php xml


    【解决方案1】:

    您必须遍历$data["aaa"],它是&lt;aaa&gt; 的值数组,请参见示例:

    $xml = <<<XML
    <info>
      <data>
        <aaa>AAAA</aaa>
        <bbb>BBBB</bbb>
        <ccc>CCC</ccc>
        <aaa>RRRR</aaa>
        <bbb>PPPP</bbb>
        <ccc>ZZZZ</ccc>
      </data>
      <data>
        <aaa>YYYY</aaa>
        <bbb>TTTT</bbb>
        <ccc>WWWW</ccc>
        <aaa>QQQQ</aaa>
        <bbb>PPPP</bbb>
        <ccc>ZZZZ</ccc>
      </data>
    </info>
    XML;
    
    $xe = new SimpleXMLElement($xml);
    
    foreach ($xe->data as $data) {
      foreach ($data as $tag => $value) {
        printf("tag: %s => %s\n", $tag, $value);
      }
    }
    

    输出:

    tag: aaa => AAAA
    tag: bbb => BBBB
    tag: ccc => CCC
    tag: aaa => RRRR
    tag: bbb => PPPP
    tag: ccc => ZZZZ
    tag: aaa => YYYY
    tag: bbb => TTTT
    tag: ccc => WWWW
    tag: aaa => QQQQ
    tag: bbb => PPPP
    tag: ccc => ZZZZ
    

    【讨论】:

    • 我应该使用 php 使用前面的代码来完成这项任务
    • @user3472065 我不明白你说的“我应该使用 php 来完成这个任务”是什么意思,我写的不是 php 吗?
    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 2022-01-03
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    相关资源
    最近更新 更多