簡體   English   中英

PHP迭代並顯示XML數據

[英]PHP Iterate and Display XML data

我需要讀取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>'
 }

您必須遍歷$data["aaa"]這是<aaa>的值數組,請參見示例:

$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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM