나는이 질문에 대한 답변으로 주로 대답을 연구했습니다 Convert Tab delimited text file to XML, CSV 파일을 한 줄씩 읽고 그 결과를 XML 파일로 변환하는 다음 스크립트를 함께 연결했습니다 .PHP로 CSV 파일을 PHP로 XML로 변환
CSV 파일은 이러한 방식으로 세 개 이상의 세포 라인이 있습니다
홍길동 [email protected] 2012-06-07 1시 45분
대화 형 PHP 쉘에서 실행의 다음 스크립트 파일의 첫 번째 줄을 무시하고 첫 번째 XML 태그 안에, 한 번에 두 개의 라인에서 모든 것을 뱉어 : tab-delimited string to XML with PHP
:<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', true);
ini_set('auto_detect_line_endings', true);
$xmlWriter = new XMLWriter();
$xmlWriter->openUri('/path/to/destination.xml');
$xmlWriter->setIndent(true);
$xmlWriter->startDocument('1.0', 'UTF-8');
$xmlWriter->startElement('root');
$tsvFile = new SplFileObject('/path/to/destination.csv');
$tsvFile->setFlags(SplFileObject::READ_CSV);
$tsvFile->setCsvControl("\t");
foreach ($tsvFile as $line => $row) {
if($line > 0 && $line !== ' ') {
$xmlWriter->startElement('item');
$xmlWriter->writeElement('name', $row[0]);
$xmlWriter->writeElement('email', $row[1]);
$xmlWriter->writeElement('date', $row[2]);
$xmlWriter->endElement();
}
}
$xmlWriter->endElement();
$xmlWriter->endDocument(); ?>
는이 문제를 해결하려면, 여기 해결책을 시도
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', true);
ini_set('auto_detect_line_endings', true);
$xmlWriter = new XMLWriter();
$xmlWriter->openUri('/path/to/destination.xml');
$xmlWriter->setIndent(true);
$xmlWriter->startDocument('1.0', 'UTF-8');
$xmlWriter->startElement('root');
$tsvFile = new SplFileObject('/path/to/destination.csv');
$tsvFile->setFlags(SplFileObject::READ_CSV);
$tsvFile->setCsvControl("\t");
$lines = explode("\n", $tsvFile);
$tsvData = array();
foreach ($lines as $line) {
if($line > 0) {
$tsvData[] = str_getcsv($line, "\t");
$tsvData[] = str_getcsv($line, "\t");
foreach ($tsvData as $row) {
$xmlWriter->writeElement('name', $row[0]);
$xmlWriter->writeElement('email', $row[1]);
$xmlWriter->writeElement('date', $row[2]);
$xmlWriter->endElement();
}
}
}
$xmlWriter->endElement();
$xmlWriter->endDocument();?>
이 스크립트는 XML 파일을 생성하지만 불행히도 그 안에 어떠한 출력을 생성하지 :
다음은 수정 된 스크립트입니다.
누군가 내가 잘못 가고있는 것을 지적하여 나를 도울 수 있습니까? 나는 이것에 대해 전문가가 아니지만 배우기가 열심히 노력하고 있습니다.
귀하의 도움에 감사드립니다.
감사합니다. 진전을 보이고 있습니다. 파일을 원래 형식 인 탭으로 구분 된 하나의 파일로 저장해야한다는 것을 알게되었습니다. 이제 두 번째 스크립트는 다음을 출력합니다 : xml version = "1.0"encoding = "UTF-8"?>
Noak