dongzhuo3376 2018-10-01 18:59
浏览 114
已采纳

无法在PHP中循环遍历XML节点

I have a file where I store comments. The file name is comments.xml:

<?xml version="1.0" encoding="utf-8"?>
<comment>
  <user>User4251</user>
  <date>02.10.2018</date>
  <text>Comment body goes here</text>
</comment>
<comment>
  <user>User8650</user>
  <date>01.10.2018</date>
  <text>Comment body goes here</text>
</comment>

To loop through the XML tree, I am using the example given at W3Schools (with some modifications to the parameters). The code is contained in index.php:

<?php
  $xml = simplexml_load_file("comments.xml") or die("Error: Cannot create object");
  foreach($xml -> children() as $comments) { 
    echo $comments -> user . ", "; 
    echo $comments -> date . ", "; 
    echo $comments -> text . "<br>";
  }
?>

As per the example, I am expecting:

User4251, 02.10.2018, Comment body goes here
User8650, 02.10.2018, Comment body goes here

However, I am getting three errors:

Warning: simplexml_load_file(): comments.xml:7: parser error : Extra content at the end of the document in 192.168.0.1/users/User8650/index.php on line 2

Warning: simplexml_load_file(): in 192.168.0.1/users/User8650/index.php on line 2

Warning: simplexml_load_file(): ^ in 192.168.0.1/users/User8650/index.php on line 2

Error: Cannot create object

The fourth one is due to the die() statement.

Is the example erroneous or am I going wrong somewhere?

  • 写回答

1条回答 默认 最新

  • duanjiu6697 2018-10-01 19:02
    关注

    You don't have a valid root element in your XML document. This will work:

    <root_example>
     <comment>
       <user>User4251</user>
       <date>02.10.2018</date>
       <text>Comment body goes here</text>
      </comment>
      <comment>
       <user>User8650</user>
       <date>01.10.2018</date>
       <text>Comment body goes here</text>
     </comment>
    </root_example>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏