替换","用"。"在使用php的xml文件中

时间:2018-01-06 11:18:59

标签: php xml

我有一个XML文件,我想在opencart商店中导入。

我的XML文件是:

  

<Model>100002</Model>   
<Itemcode>10000200</Itemcode>   
<Description>description of item</Description>   
<Currency>EUR</Currency>   
<IndustryCol1>5,98</IndustryCol1>   
<IndustryCol2>2,88</IndustryCol2>   
<IndustryCol3>2,8</IndustryCol3>
<IndustryCol4>2,7</IndustryCol4>
</PriceInfoRow>
</PriceInfo>

我需要用

中的点替换逗号
<IndustryCol1>5,98</IndustryCol1>   
<IndustryCol2>2,88</IndustryCol2>   
<IndustryCol3>2,8</IndustryCol3>
<IndustryCol4>2,7</IndustryCol4>

我需要这个,因为当我用逗号加载XML文件时,脚本会变为5,98到5,00。

任何帮助?

编辑:

这是我上传xml文件时的功能:

  

私有函数importXML($ filename,$ product_tag,$ xml_options){         $ this-&gt; product_tag = $ product_tag; $ this-&gt; xml_data =&#39;&#39 ;; $ fh =   fopen($ filename,&#39; r&#39;); $ xml_parser =   xml_parser_create($这 - &GT; file_encoding); xml_set_object($ xml_parser,   $本); xml_set_element_handler($ xml_parser,&#39; startTag&#39;,&#39; endTag&#39;);         xml_set_character_data_handler($ xml_parser,&#39; cData&#39;);         xml_parser_set_option($ xml_parser,XML_OPTION_CASE_FOLDING,false);         while($ data = fread($ fh,4096)){if(!xml_parse($ xml_parser,   $ data,feof($ fh))){                 xml_parser_free($ xml_parser);                 返回false; } if($ this-&gt; cron_fetch&amp;&amp; $ this-&gt; total_items_ready&gt; = CRON_FETCH_NUM){                 xml_parser_free($ xml_parser);                 返回true; xml_parser_free($ xml_parser);返回true; }

1 个答案:

答案 0 :(得分:0)

$xml = simplexml_load_string($s);
// Find all items which name starts with "IndustryCol" 
$items = $xml->xpath('//*[starts-with(name(), "IndustryCol")]');

foreach($items as $k=>$v) {
  // Replace node values 
  $items[$k][0] = str_replace(',', '.', $v);
} 

echo $xml->asXML();

demo