【问题标题】:Change XMLWriter Default Field Separator更改 XMLWriter 默认字段分隔符
【发布时间】:2018-06-27 07:46:33
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: php field separator xmlwriter


    【解决方案1】:

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

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

    【讨论】:

    • 成功了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    相关资源
    最近更新 更多