如何使用循环读取PHP中XML文件的文档行


How can I read document lines of XML file in PHP by using loop?

如何使用循环读取PHP中XML文件的文档行?让我给你举个例子,这是XML标签

<?xml version="1.0" encoding="utf-8"?>
<GRPO>    
<Goods>
<CardCode>V10000</CardCode>
<DocDueDate>07/11/2016</DocDueDate>
<GoodsLines>
   <Line>
      <ItemNo>A00003</ItemNo>
      <Quantity>4</Quantity>
      <UnitPrice>4000</UnitPrice>
   </Line>
   <Line>
      <ItemNo>A00004</ItemNo>
      <Quantity>5</Quantity>
      <UnitPrice>5000</UnitPrice>
   </Line>
</GoodsLines>
</Goods>        
</GRPO>

读取XML文件的PHP代码

<?php
$xml=simplexml_load_file("GRPO.xml");
foreach($xml->children() as $Line)
{
echo"$Line->ItemNo";
echo"$Line->Quantity";
echo"$Line->UnitPrice";
}
?>

这里的问题是没有显示任何数据。为了使用循环打印行的值,我可以在代码中做什么?

请任何人都能帮我。

您没有访问正确级别的XML。children()方法只访问文档的直接子级,因此您只在Goods节点上迭代。

你的循环需要看起来像这样:

foreach ($xml->Goods->GoodsLines->Line as $Line)
{
    echo $Line->ItemNo;
    echo $Line->Quantity;
    echo $Line->UnitPrice;
}