更改 XMLWriter 默认字段分隔符

Change XMLWriter Default Field Separator

我正在寻找从站点检索大量数据,选择其中的特定部分,将其转换为 XML 格式,然后将其导入数据库(这个问题是关于 XML 格式部分)

收到的数据是一个原始文本文件,但是分为许多不同的类别。此文件使用的字段分隔符是“:”,根据我目前的经验,XML作者喜欢分隔符是“,”

有什么方法可以更改分隔符 XMLWriter 使用的吗?

当前XML代码:

    <?php
$data = fopen('thing.txt', 'r');

    $xml = new XMLWriter;
    $xml->openURI('php://output');
    $xml->setIndent(true); // makes output cleaner

    $xml->startElement('Controllers');
    while ($line = fgetcsv($data)) {
       $xml->startElement('Current');
       $xml->writeElement('Callsign', $line[0]);
       $xml->writeElement('CID', $line[1]);
       $xml->writeElement('Name', $line[2]);
       $xml->endElement();
    }
    $xml->endElement();

谢谢!

XMLWriter 是创建输出的部分,它对您阅读的文件格式一无所知。这将取决于对 fgetcsv() 的调用。第三个参数是你要使用的分隔符,因此将读取行更改为...

while ($line = fgetcsv($data, 0, ':')) {