dongxi1965
2016-07-26 10:25
浏览 36

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

How can I read document lines of XML file in PHP by using loop? Let me show you an example, This is XML tags

<?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>

The PHP codes of to read the XML file

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

The problem here is no data are displayed. What can I do in my codes in order to print out values of lines by using loop?

Please anyone can help me.

图片转代码服务由CSDN问答提供 功能建议

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

 &lt;?xml version =“1.0”encoding =“utf-8”?&gt; 
&lt; GRPO&gt;  
&lt; Goods&gt; 
&lt; CardCode&gt; V10000&lt; / CardCode&gt; 
&lt; DocDueDate&gt; 07/11/2016&lt; / DocDueDate&gt; 
&lt; GoodsLines&gt; 
&lt; Line&gt; 
&lt; ItemNo&gt; A00003&lt; / ItemNo&gt  ; 
&lt; Quantity&gt; 4&lt; / Quantity&gt; 
&lt; UnitPrice&gt; 4000&lt; / UnitPrice&gt; 
&lt; / Line&gt; 
&lt; Line&gt; 
&lt; ItemNo&gt; A00004&lt; / ItemNo&gt; 
&lt;  ;数量&gt; 5&lt; / Quantity&gt; 
&lt; UnitPrice&gt; 5000&lt; / UnitPrice&gt; 
&lt; / Line&gt; 
&lt; / GoodsLines&gt; 
&lt; / Goods&gt;  
&lt; / GRPO&gt; 
   
 
 

读取XML文件的PHP代码

 &lt;?php  
 $ xml = simplexml_load_file(“GRPO.xml”); 
foreach($ xml-&gt; children()as $ Line)
 {
echo“$ Line-&gt; ItemNo”; 
echo“$ Line-&gt  ;数量“; 
echo”$ Line-&gt; UnitPrice“; 
} 
?&gt; 
   
 
 

此处的问题是没有数据显示。\ n我可以在代码中使用循环打印出行的值吗?

请任何人都可以帮助我。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongzhong2008 2016-07-26 10:33
    已采纳

    You're not accessing the correct level of the XML. The children() method only accesses direct children of the document, so you're only iterating over the Goods node.

    Your loop needs to look something like this:

    foreach ($xml->Goods->GoodsLines->Line as $Line)
    {
        echo $Line->ItemNo;
        echo $Line->Quantity;
        echo $Line->UnitPrice;
    }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题