0

我有一个带有属性的 xml 文件

XML 文档

<SET name="John" lastname="Steve" city="New York" Country=""/>

这将转换为具有 4 列的 CSV 文件。

CSV 文件

Name,LastName,City,Country
John,Steve,New York,

我想从 Country 获取 Empty 内容并转换为像 USA 这样的默认文本

我将使用 str_replace 进行此替换。

问题是我不知道如何获取 Empty 属性,例如 if is empy var_dump。

谢谢

转换文件。

$filexml = 'file.xml';
    if (file_exists($filexml)){
        $xml = simplexml_load_file($filexml);
$file = fopen('clients.csv', 'w');
        $header = array('Name', 'LastName', 'City', 'Country');
fputcsv($file, $header, ',', '"');
foreach ($xml->SET as $set){
$item = array();
            $value1 = $set->attributes()->name;
            $value2 = $set->attributes()->lastname;
            $value3 = $set->attributes()->city;
            $value4 = $set->attributes()->Country;

$search_country= array('','10','12')
$replace_country = array('USA','Argentina','Canada')
$item[] = $value1;
$item[] = $value2;
$item[] = $value3;
$item[] = str_replace($search_country, $replace_country, $value4);

fputcsv($file, $item, ',', '"');    
        }
        fclose($file);
    }
4

1 回答 1

1

用于empty检查值是否为空

$value4 = empty($set->attributes()->Country) ? "USA" : $set->attributes()->Country;
于 2012-11-16T20:25:36.130 回答