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

时间:2016-07-26 10:25:23

标签: php xml

如何使用循环读取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";
}
?>

这里的问题是没有数据显示。 我可以在代码中执行哪些操作来使用循环打印出行的值?

请有人帮助我。

1 个答案:

答案 0 :(得分:1)

您没有访问正确的XML级别。 children()方法仅访问文档的直接子项,因此您只能遍历商品节点。

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

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