我有一个 XML
样本:
<?xml version="1.0" encoding="utf-8"?>
<StockValues>
<Product>
<Product_Code>00380</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>2013-10-13</Due_Date>
</Product>
<Product>
<Product_Code>00429</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>2013-11-14</Due_Date>
</Product>
<Product>
<Product_Code>00495</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>N/A</Due_Date>
</Product>
<Product>
<Product_Code>0122</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>N/A</Due_Date>
</Product>
<Product>
<Product_Code>0190</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>2013-10-16</Due_Date>
</Product>
<Product>
<Product_Code>052A</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>N/A</Due_Date>
</Product>
<Product>
<Product_Code>052B</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>2013-10-09</Due_Date>
</Product>
<Product>
<Product_Code>052BK</Product_Code>
<Available_Stock>200</Available_Stock>
<Due_Date>2013-09-28</Due_Date>
</Product>
我正在使用 simplexml_load_file 转换为 CSV。它工作得很好,但有两个问题。首先,我以 00 开头的产品代码在生成 CSV 时丢失了 00。因此,我以某种方式需要将其保留为文本字段。
其次,我也想在这里放列标题。
这是我到目前为止改编的代码:
<?php
$filename='test.csv';
if (! file_exists($filename))
{
echo "There's no test file";
}
else
{
echo "There's 1a test file !";
unlink($filename);
}
echo '<br />';
if( ! $xml = simplexml_load_file('1feed2.xml') )
{
echo 'unable to load XML file';
}
else
{
foreach( $xml as $product_record )
{
$prodarray = "\"$product_record->Product_Code\"".","."$product_record->Available_Stock".",END\n";
echo $prodarray;
//echo '<br />';
file_put_contents($filename,$prodarray,FILE_APPEND);
echo "line written <br />";
}
}
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
print $contents;
?>
有谁知道我能做些什么来解决这个问题?
它目前会生成一个很棒的 CSV,但只是缺少上述位。