-4
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<DataElement>
<Serial_Start>1000</Serial_Start>
<Serial_End>2000</Serial_End>
<Item value="257896">
<ComItemation>
<Price>00</Price>
<Sku>20</Sku>
<Qcode>27</Qcode>
</ComItemation>
<ComItemation>
<Price>80</Price>
<Sku>20</Sku>
<Qcode>20</Qcode>
</ComItemation>
</Item>
<Item value="523698">
<ComItemation>
<Price>00</Price>
<Sku>20</Sku>
<Qcode>27</Qcode>
</ComItemation>
<ComItemation>
<Price>80</Price>
<Sku>20</Sku>
<Qcode>20</Qcode>
</ComItemation>
</Item>
<Item value="856987">
<ComItemation>
<Price>00</Price>
<Sku>20</Sku>
<Qcode>27</Qcode>
</ComItemation>
</Item>
</DataElement>
<DataElement>
<Serial_Start></Serial_Start>
<Serial_End></Serial_End>
<Item value="123456">
<ComItemation>
<Price>00</Price>
<Sku>20</Sku>
<Qcode>27</Qcode>
</ComItemation>
<ComItemation>
<Price>80</Price>
<Sku>20</Sku>
<Qcode>20</Qcode>
</ComItemation>
</Item>
<Item value="123456">
<ComItemation>
<Price>00</Price>
<Sku>20</Sku>
<Qcode>27</Qcode>
</ComItemation>
<ComItemation>
<Price>80</Price>
<Sku>20</Sku>
<Qcode>20</Qcode>
</ComItemation>
</Item>
<Item value="123456">
<ComItemation>
<Price>00</Price>
<Sku>20</Sku>
<Qcode>27</Qcode>
</ComItemation>
<ComItemation>
<Price>80</Price>
<Sku>20</Sku>
<Qcode>20</Qcode>
</ComItemation>
</Item>
</DataElement>
</Document>
私は上記のXML文書を解析しようとしていましたが、PERLの新しい蜂です。 I は、下記の形式で出力する必要があります。XML文書の構文解析
Serial Start : 1000
Serial End : 2000
Item : 257896
Price : 00
Sku : 20
Qcode : 27
Item : 257896
Price : 80
Sku : 20
Qcode : 20
...そして、各子ノードについてそうです。これまで
サンプルコード:
#!/usr/bin/env perl
use strict;
use warnings;
use XML::Simple;
use Data::Dumper;
my $xml = new XML::Simple;
my $data = $xml->XMLin("/home/rocky/PERL/doc.xml");
print Dumper($data);
foreach my $imgrec (@{ $data->{DataElement} }) {
my $Serial_Start = $imgrec->{Serial_Start};
my $Serial_End = $imgrec->{Serial_End};
foreach my $imgrec1 (@{ $data->{DataElement}->{Item} }) {
## Not sure of this code
## Trying on this part.
}
}
お試しください。 'XML :: Twig'を使うのはそれほど難しいことではありません。それから問題があるかどうか聞いてみましょう。 – Sobrique
' strictを使用します。 警告を使用します。 XML :: Simpleを使用します。 Data :: Dumperを使用します。 my $ xml = new XML :: Simple; my $ data = $ xml-> XMLin( "/ home/rocky/PERL/doc.xml"); 印刷Dumper($ data); my $ Serial_Start = $ imgrec - > {Serial_Start}; foreach my $ imgrec(@ {$ data - > {DataElement}} my $ Serial_End = $ imgrec - > {Serial_End};この部分にしよう({> {}項目のデータ - - > {定義するDataElement}} @){ \t \t ## \t \tこのコードのわからない## \t foreachの私の$ imgrec1。 \t} }「 – vmadhav
あなたの質問にはそれがあります。 – Sobrique