2016-07-26 71 views
0

如何使用循环读取PHP中的XML文件的文档行? 让我给你举个例子, 这是XML标记如何使用循环读取PHP中的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 
$xml=simplexml_load_file("GRPO.xml"); 
foreach($xml->children() as $Line) 
{ 
echo"$Line->ItemNo"; 
echo"$Line->Quantity"; 
echo"$Line->UnitPrice"; 
} 
?> 

这里的问题是不显示任何数据的PHP代码。 我可以在我的代码中做什么以便通过使用循环打印出行的值?

请任何人都可以帮助我。

回答

1

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

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

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

谢谢你这么多iainn,这是正确的。 –