PHP-XML到CSV的转换问题


PHP - XML to CSV conversion issue

我真的需要一些帮助来解决一个问题:我正在使用PHP脚本将XML转换为CSV,但XML包含一些+符号,我不知道如何将它们从CSV中删除。

这是XML文件结构:

<PRICES>
<PRICE>
<WIC>HDE0AAFGRBOX</WIC>
<STOCK>100+</STOCK>
<MY_PRICE>219.00</MY_PRICE>
</PRICE>
</PRICES>

这是我使用的脚本:

<?
$filexml='stock.xml';
if (file_exists($filexml)) {
$xml = simplexml_load_file($filexml);
$f = fopen('stock.csv', 'w')
foreach($xml->PRICES->PRICE as $price) {
fputcsv($f, get_object_vars($price),',','"');
}
fclose($f);
}
?>

这个脚本运行得很好,CSV文件也很好,但因为我是PHP的新手,我不知道如何删除"+"号。

任何帮助都将不胜感激。

提前感谢!

您可以尝试修剪要删除的字符('+'字符):

foreach($xml->PRICES->PRICE as $price) {
   $price->STOCK = trim($price->STOCK, "+");
   fputcsv($f, get_object_vars($price),',','"');
}

尝试使用str_replace:

$filexml='stock.xml';
if (file_exists($filexml)) {
$xml = simplexml_load_file($filexml);
$f = fopen('stock.csv', 'w')
foreach($xml->PRICES->PRICE as $price) {
$price->STOCK = str_replace("+","",$price->STOCK);
fputcsv($f, get_object_vars($price),',','"');
}
fclose($f);
}