gpt4 book ai didi

php - 在 PHP 中将 XML 转换为 CSV

转载 作者:可可西里 更新时间:2023-11-01 00:04:20 25 4
gpt4 key购买 nike

有没有办法使用 PHP 将 XML 文件转换为 CSV 文件?

最佳答案

使用搜索引擎查找代码示例,例如 http://codestips.com/php-xml-to-csv/

要在 PHP 5.0 中从 xml 创建 csv 文件非常简单,我们只需要写几行。

我们将使用来自 PHP 5.0 的 SimpleXML 扩展。

SimpleXML 将整个 xml 读入一个对象,我们可以遍历其属性。要写入 csv 输出文件,我们将使用 fputcsv。

fputcsv 将一行格式化为 csv 并将其写入文件。

假设我们有这个名为 cars.xml 的 xml:

<?xml version='1.0'?>
<cars>
<car>
<color>blue</color>
<price>2000</price>
</car>
<car>
<color>red</color>
<price>10000</price>
</car>
<car>
<color>black</color>
<price>5000</price>
</car>
</cars>

首先,我们应该使用传递文件名的 simplexml_load_file 读取我们的 xml,并返回一个包含 csv 的所有属性和值的对象:

$xml = simplexml_load_file($filexml);

读取后,我们应该遍历汽车的所有子节点,并使用指定对象、分隔符和外壳的 fputcsv 将其写入输出文件。我们应该首先将对象转换为数组,以便将其写入 csv:

foreach ($xml->car as $car) 
fputcsv($f, get_object_vars($car),',','"');

这是在php 5.0中将xml转换为csv的完整源代码:

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

关于php - 在 PHP 中将 XML 转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2126510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com