【发布时间】:2010-12-15 16:53:37
【问题描述】:
我正在尝试使用 LibXML::Schema Validator CPAN 模块针对架构验证 XML。在同一个脚本中,我使用XML::DOM CPAN 模块来解析 XML。我希望我的脚本采用 XML 文件针对 XSD 验证它并解析它。
当我尝试运行脚本时,在对 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 $@ if $@;
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'.
【问题讨论】:
-
你能把错误信息和一些代码贴出来吗?
标签: xml perl validation parsing