我正在嘗試使用LibXML::Schema Validator CPAN模塊驗證XML模式。在同一個腳本中,我使用XML::DOM CPAN模塊來解析XML。我希望我的腳本將XML文件用XSD驗證並解析它。爲什麼我的XSD文件無法用XML :: LibXML解析?
當我嘗試運行腳本時,在對xsd進行驗證之後,它退出並且不解析XML。我希望它解析XML文件,如果它有效並生成DOM結構。如果有人能分享一些見解,我會非常感激。
#usr/bin/perl -w
use XML::LibXML;
my $schema = XML::LibXML::Schema->new(location =>'export.xsd');
my $parser = XML::LibXML->new;
my $xml = 'Export.xml';
my $doc = $parser->parse_file($xml);
eval { $schema->validate($doc) };
print [email protected] if [email protected];
print "$xml is valid\n";
use XML::DOM;
#use strict;
my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile ("Export.xml");
my $productOfferingnodes = $doc->getElementsByTagName("productOfferings")->item(0);
my @productOffering = $productOfferingnodes->getChildNodes();
{
foreach my $productOffering(@productOffering)
{
if ($productOffering->getNodeType == ELEMENT_NODE)
{
print $productOffering->getNodeName;
}
}
}
錯誤消息:
Schemas parser error : Failed to parse the XML resource 'export.xsd'.
你能發佈錯誤消息,可能還有一些代碼? – 2009-11-12 00:50:45