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.
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;
}