Изменить разделитель полей XMLWriter по умолчанию - PullRequest
0 голосов
/ 27 июня 2018

Я собираюсь получить пакет данных с сайта, выбрать отдельные его разделы, преобразовать их в формат 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();

Спасибо!

1 Ответ

0 голосов
/ 27 июня 2018

XMLWriter - это часть, которая создает выходные данные, она ничего не знает о формате файла, который вы читаете. Это будет до звонка на fgetcsv(). Третий параметр - это разделитель, который вы хотите использовать, поэтому измените строку чтения на ...

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