Как преобразовать следующий файл CSV в XML? Пожалуйста, помогите мне с Perl или JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как преобразовать следующий файл CSV в XML? Пожалуйста, помогите мне с Perl или Java

Сообщение Anonymous »

Пожалуйста, помогите мне, я не могу придумать надлежащую логику для этого преобразования CSV в XML. < /p>

csv:

, «раздел», «заголовок», «описание», «диапазон значений», «Ссылка», «Размер массива», «исчерпывающий», «Тип», «Цель»
, 1, «Intra Pred» ,,,,, 100
.."1.1.1","mode1.1","tusizelog2 "," 2: 5 "," CG_INTRA_PRED: log2tra "," y "," Coverpoint ", 100
"1.1.2",omode1.2","Chroma "," 0: 1 "," CG_INTRA_PRED: ISCHROMA "," y "," Coverpoint ", 100
.."1.1.3","mode1.3","slice_ctrl_in.bit_depth_8not10","0:1","cg_intra_pred:bitdepth_8not10",,,omo" -coverpoint",100 *>,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,2,2,,2,2,2,2,, /> .."1.2.1","stim1.1","ctrl_in.pu.mode","0:34","cg_intra_pred:pumode",1,omoky","coverpoint",100
"1.2.2","stim1.2","ctrl_in.pu.blkx/blky","0:15","cg_intra_pred:tublkx;cg_intra _pred: tublky ;; cg_intra_pred: publkx ;; cg_intra_pred: publy ", 1," y "," Coverpoint ", 100
"1.2.3","stim1.3","ctrl_in.tu.neigh_avail","0:31","cg_intra_pred:neighavail1;cg_intra_pred:neighavail2; ; CG_INTRA_PRED: RECYAVAIL3 ;; CG_INTRA_PRED: RECYAVAIL4 ;; CG_INTRA_PRED: RECYAVAIL5 ", 1," y "," Coverpoint ", 100
.."1.2.4","stim1.4","refabove_in ;; refleft_in ;; refabovemode_in; ;; refleftmode_in "," 0: 255/1023 ;; 0: 255/1023 ;; 0: 34 ;; 0: 34 "," cg_intrapred_abv ;; cg_intrapred_left; ; cg_intrapred_mode ;; "," 2*tusize ;; (2*tusize) +1 ;; tusize/4 ;; tusize/4 ;; "," y "," Coverpoint ", 100

< /pre> < /p>

xml ожидаемый формат: < /p>


demo
System Feature list
sandeepg

Intra Pred
sandeepg

100



Generics
sandeepg

100


mode1.1
TUSizelog2
CoverPoint
100




false
false
false

INSTANCE


mode1.2
chroma
CoverPoint
100




false
false
false

INSTANCE


mode1.3
slice_ctrl_in.bit_depth_8not10
CoverPoint
100




false
false
false

INSTANCE



Stimulus
sandeepg

100


stim1.1
ctrl_in.pu.mode
CoverPoint
100




false
false
false

INSTANCE


stim1.2
ctrl_in.pu.blkx/blky
CoverPoint
100




false
false
false

INSTANCE


stim1.3
ctrl_in.tu.neigh_avail
CoverPoint
100




false
false
false

INSTANCE


stim1.4
refAbove_in ; ;;refLeft_in; ;;refAboveMode_in; ;;refLeftMode_in
CoverPoint
100




false
false
false

INSTANCE



< /code>

Мой скрипт: < /p>

#!usr/bin/perl
my $project_description = "System Feature list";
my $project_username = $ENV{USER};
if ( @ARGV < 3 ) {
print "\nRequired arguments are not provided.\n";
print "syntax is \n\tCSV-XML_Conversion ";
exit(1);
}

my $input_path = $ARGV[0];
my $output_path = $ARGV[1];
my $project_name = $ARGV[2];

open( XML_WR_File, " > $output_path " );
open( RD_File, "$input_path " ) or die "$! ";
readline(RD_File);

print XML_WR_File " \ \n ";
print XML_WR_File " \t \$project_name \ \n ";
print XML_WR_File " \t \$project_description \ \n ";
print XML_WR_File " \t \$project_username \ \n ";

#print XML_WR_File " \t \ \n ";

while ( $line = ) {
chop;
$line_count++;
$line =~ s/" // g;
$line =~ s/(^\s+|\s+$)//g;
@field = split( ',', $line );
$size_of_array = @field;

if ( $field[8] eq m/\s/ ) {
print XML_WR_File "\t\t\ \n";
print XML_WR_File "\t\t\$field[2]\ \n";
print XML_WR_File "\t\t\$project_username\ \n";
print XML_WR_File "\t\t\$field[3]\ \n";
print XML_WR_File"\t\t\$field[9]\\n";
print XML_WR_File "\t\t\\\n";

#print XML_WR_File "\t\ \n";
}
elsif ( $field[8] =~ m/\w/ ) {
$type_count++;
print XML_WR_File "\t\t\t\\n";
print XML_WR_File "\t\t\t\t\$field[2]\\n";
print XML_WR_File "\t\t\t\t\$field[3]\\n";
print XML_WR_File "\t\t\t\t\$field[8]\\n";
print XML_WR_File "\t\t\t\t\$field[9]\\n";
print XML_WR_File "\t\t\t\t\\\n";
print XML_WR_File "\t\t\t\t\\\n";
print XML_WR_File "\t\t\t\t\\\n";
print XML_WR_File "\t\t\t\t\\\n";
print XML_WR_File "\t\t\t\t\false\\n";
print XML_WR_File "\t\t\t\t\false\\n";
print XML_WR_File "\t\t\t\t\false\\n";
print XML_WR_File "\t\t\t\t\\n";
print XML_WR_File "\t\t\t\t\INSTANCE\\n";
print XML_WR_File "\t\t\t\\n";
}
}
print XML_WR_File "\t\\n";
print XML_WR_File "\\n";


Подробнее здесь: https://stackoverflow.com/questions/232 ... ither-perl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»