擅长:python、mysql、java
<p>如果您愿意使用amara之外的其他库,请尝试<a href="http://codespeak.net/lxml" rel="noreferrer" title="lxml">lxml</a>。它支持您轻松完成的任务:</p>
<pre><code>from lxml import etree
source_file = 'test.xml'
schema_file = 'test.xsd'
with open(schema_file) as f_schema:
schema_doc = etree.parse(f_schema)
schema = etree.XMLSchema(schema_doc)
parser = etree.XMLParser(schema = schema)
with open(source_file) as f_source:
try:
doc = etree.parse(f_source, parser)
except etree.XMLSyntaxError as e:
# this exception is thrown on schema validation error
print e
</code></pre>