我正在尝试创建一个XML导入程序,以便将产品从POS系统加载到在线商店。
我想通过从POS系统获取XML导出,处理它并将值直接放入数据库的多个表来实现这一目标。
代码的开头看起来像这样但是我已经遇到了绊脚石。
<?php
$xml = simplexml_load_file('product.xml');
$ProductName = $xml->Product->Name;
$ProductDescription = $xml->Product->Description;
$IsNew = str_replace("false", "0", $xml->Product->IsNew) // Sets False to 0 instead of false
echo $ProductName . "<br />";
echo $ProductDescription . "<br />";
echo $IsNew;
?>
到目前为止,我只是试图从XML标签中获取数据,将它们放入变量中,并回显它们,以便我看到我得到了正确的结果。
这只返回XML文件的第一个产品的细节(超过一千)。我期待它为每个产品获得名称+描述+ IsNew。我假设它需要在while语句中,但我无法弄清楚如何在simple_xml中应用它
XML结构如下所示。
<PRODUCTS>
<PRODUCT>
<UPDATETYPE>
<STYLECODE>
<NAME>
<DESCRIPTION>
...etc...
<ITEMS>
<ITEM>
<CODE>
<BARCODE>
<SIZE>
<PRICE>
...etc...
</ITEM>
<ITEM>
...etc...
</ITEM>
</ITEMS>
</PRODUCT>
<PRODUCT>
...etc...
</PRODUCT>
</PRODUCTS>
答案 0 :(得分:1)
您需要将Product
遍历为数组:
foreach($xml->Product as $_product){
echo $_product->Name . "<br/>";
echo $_product->Description . "<br/>";
echo $_product->IsNew ? "true" : "false";
}