更改 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, ':')) {
我正在寻找从站点检索大量数据,选择其中的特定部分,将其转换为 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, ':')) {