0

我正在尝试创建一个 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>
4

1 回答 1

1

您需要Product作为数组遍历:

foreach($xml->Product as $_product){
  echo $_product->Name . "<br/>";
  echo $_product->Description . "<br/>";
  echo $_product->IsNew ? "true" : "false";
}
于 2012-04-27T03:43:50.387 回答