我想解析一個csv文件並將其轉換爲XML。 .csv文件由用逗號分隔的條目列表組成。因此,兩個示例條目如下所示:Perl:將csv文件轉換爲xml
AP,AB,A123,B123,,,
MA,NA,M123,TEXT,TEXT,TEXT_VALUE
某些字段在文件中是空白的而文件沒有標題行。 任何建議如何去與此。還沒有想出如何去與此。 謝謝。
我想解析一個csv文件並將其轉換爲XML。 .csv文件由用逗號分隔的條目列表組成。因此,兩個示例條目如下所示:Perl:將csv文件轉換爲xml
AP,AB,A123,B123,,,
MA,NA,M123,TEXT,TEXT,TEXT_VALUE
某些字段在文件中是空白的而文件沒有標題行。 任何建議如何去與此。還沒有想出如何去與此。 謝謝。
print "<myXML>\n";
while (<>) {
print "<aRow>$_</aRow>\n";
}
print "</myXML>\n";
或者,使用XML ::的libxml,這樣的事情:
#!/usr/bin/perl
use strict;
use warnings;
use XML::LibXML;
my $doc = XML::LibXML::Document->createDocument;
my $root = $doc->createElement('myXML');
$doc->setDocumentElement($root);
$root->appendChild($doc->createTextNode("\n"));
while (<>) {
chomp;
my $row = $doc->createElement('aRow');
$root->appendChild($row);
$row->appendChild($doc->createTextNode($_));
$root->appendChild($doc->createTextNode("\n"));
}
print $doc->toString;
當然,如果你告訴我們,輸出應該是什麼樣子,我們也許可以想出的東西多一點複雜!
使用[Text :: CSV](http://search.cpan.org/~ishigaki/Text-CSV-1.91/lib/Text/CSV.pm)閱讀它,然後使用模塊編寫一個xml文件那。例如,[XML :: LibXML](http://search.cpan.org/dist/XML-LibXML/LibXML.pod),您將使用[XML :: LibXML :: Document](http:// search.cpan.org/dist/XML-LibXML/lib/XML/LibXML/Document.pod)。還有其他模塊,[XML :: Twig](http://search.cpan.org/~mirod/XML-Twig-3.49/Twig.pm)。 [XML :: Writer](http://search.cpan.org/dist/XML-Writer/Writer.pm)曾經很流行,但我對它的瞭解不多,現在也不知道。 – zdim
你需要想出你想要你的數據組織,即。你的xml將如何看待。至於用'XML :: LibXML'編寫,這裏可能有用[SO post](http://stackoverflow.com/a/2934794/4653379),另一個[PerlMonks post](http://www.perlmonks .org /?node_id = 1026789)(這些鏈接不適合上述評論)。 – zdim
這並不難,但XML比CSV複雜得多。所以至少我們需要知道你的XML應該是什麼樣的。 – Sobrique