我想將plist文件轉換爲JUnit風格的XML文件。我有一個xsl樣式表,它將plist轉換爲JUnit/ANT XML。無法打開文件perl
這裏是我跑的plist中轉換爲XML Perl代碼:
my $parser = XML::LibXML->new();
my $xslt = XML::LibXSLT->new();
my $stylesheet = $xslt->parse_stylesheet_file("\\\~/Hudson/build/workspace/ui-automation/automation\\\ test\\\ suite/plist2junit.xsl");
my $counter = 1;
my @plistFiles = glob('Logs/*/*.plist');
foreach (@plistFiles){
#Escape the file path and specify abosulte path
my $plistFile = $_;
$plistFile =~ s/([()])/\\$1/g;
$path2plist = "\\\~/Hudson/build/workspace/ui-automation/automation\\\ test\\\ suite/$plistFile";
#transform the plist file to xml
my $source = $parser->parse_file($path2plist);
my $results = $stylesheet->transform($source);
my $resultsFile = "\\\~/Hudson/build/workspace/ui-automation/automation\\\ test\\\ suite/JUnit/results$counter.xml";
#create the output file
unless(open FILE, '>'.$resultsFile) {
# Die with error message
die "\nUnable to create $file\n";
}
# Write results to the file.
$stylesheet->output_file($results, FILE);
close FILE;
$counter++;
}
哈德森/詹金斯運行perl腳本後,輸出此錯誤消息:
Couldn」 t/open/Hudson/build/workspace/ui-automation/automation \ test \ suite/Logs/Run \ 1/Automation \ Results.plist:沒有這樣的文件或目錄
錯誤是由代碼中的my $source = $parser->parse_file($path2plist);
造成的。我無法弄清楚它爲什麼無法找到/讀取文件。
任何人都知道什麼可能會導致錯誤?
真的嗎?使用'〜/ Hudson/build/workspace/ui-automation/automation \ test \ suite/Logs/Run \ 1/Automation \ Results.plist'這樣的文件名:'你不知道它爲什麼找不到文件? – friedo
@friedo什麼?它不能採取文件路徑? – stackErr
@friedo我不確定你的意見是什麼意思,你能解釋一下嗎? – stackErr