xml에서 "Grand Total"값을 가져와야합니다. 필자는 perl 스크립트를 작성했지만 총합에 대한 XML 태그 경로를 실수로 수정했습니다. 올바른 경로를 안내하십시오.Perl을 사용하여 XML 데이터 가져 오기
다음은 XML입니다.
<TotalForServiceSummary>
<GrandTotal><![CDATA[1246.00]]></GrandTotal>
</TotalForServiceSummary>
스크립트 :
my $salesOrderNumber =s hift @ARGV;
my $billRunID = shift @ARGV;
my $customerNodeID = shift @ARGV;
my $invoiceID = shift @ARGV;
my $billRunDate =shift @ARGV;
my $filename = "So_".$salesOrderNumber."_".$billRunID."_".$customerNodeID."_".$invoiceID."_".$billRunDate;
my $file = `ls /svw/svwsit2b/data/server/invoices/sap_equip_invoice/$filename\*.xml`;
my $return;
open(XML, $file) or die "Cannot open $file for reading: $!\n";
while (my $line = <XML>) {
if ($line =~ /\<EquipSalesTotalChargeIncTax\>/i) {
my $xml = new XML::Simple;
my $ref3 = $xml->XMLin($line);
$return = $return . $ref3;
}
}
코드의 형식이 수정되었습니다 (누락 된'}'이 추가되었습니다). 환영합니다.하지만 장래에 직접하십시오. 당신이 낯선 사람들에게 당신의 코드를 읽고 이해하도록 요구한다면, 가능한 한 쉽게 그 일을 수행하는 것이 예의입니다. –
분명한 실수는 예제 입력이 코드에서 찾고있는 것과 일치하지 않는다는 것입니다. –
* "저는 ... 총액에 대한 xml 태그 경로를 실수로 수정했습니다"*하지만 코드는 표시되지 않습니다. 모든 "xml 태그 경로". 적절한 도움을 받으려면 실제 코드와 데이터를 보여줘야합니다. – Borodin