如何在Perl中使用XSD验证XML?
对于大多数Perl程序员来说,这可能是一个简单的问题,到目前为止,我只使用了两周Perl,对Perl包非常不熟悉 我有一个简单的XSD文件,如下所示:如何在Perl中使用XSD验证XML?,xml,perl,xsd,Xml,Perl,Xsd,对于大多数Perl程序员来说,这可能是一个简单的问题,到目前为止,我只使用了两周Perl,对Perl包非常不熟悉 我有一个简单的XSD文件,如下所示: <?xml version="1.0" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema"> <xsd:element name="el
<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="elementname">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="field1" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
<xsd:element name="field2" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
我希望使用上述XSD验证XML文件,以确保这是一个有效的XML。我应该使用什么Perl模块?我更喜欢在ActivePerl和Perl on*nix上都可用的模块。发布一些代码片段会很有帮助
谢谢我想你需要CPAN的帮助。以下是要安装的、和:
perl -MCPAN -e 'install XML::Validator::Schema'
具有验证
方法
另请参阅我对的回答。@Brian-感谢您的快速回复,我无法在ActivePerl上找到此模块。在ActivePerl上有什么好的替代方案吗?我希望找到一个可以在Windows和Linux上运行的模块。如果您必须在Windows上使用perl,我建议您改用草莓perl。***它比ActivePerl好得多(在包覆盖率方面(以及其他方面)),我提供了一个合适的CPAN工具来安装和编译更多的包。我希望ActivePerl能够支持CPAN,但也许不能。@Nifle-不幸的是,我没有选择切换到strawberryperl。无论如何,感谢您提出这个模块。ActivePerl确实“支持CPAN”,并且这个模块(以及成千上万的其他模块)。它位于Duplicate的列表中:“是否有一个Perl模块根据模式验证XML?”-