更改XMLWriter默认字段分隔符

时间:2018-06-27 07:46:34

标签: php field separator xmlwriter

我正在寻找一个站点中的一桶数据,选择其中的特定部分,将其转换为XML格式,然后将其导入数据库(此问题与XML格式部分有关)

接收到的数据是原始文本文件,但是可以分为许多不同的类别。该文件使用的字段分隔符为“:”,根据我目前的经验,XMLWriter喜欢分隔符为“,”

有什么方法可以更改Separator 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();

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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