Python怎么用lxml的RelaxNG验证XML

admin 百科 7
用lxml的RelaxNG验证XML需先加载合法.rng文件或字符串生成验证器,再解析XML为etree对象后调用validate();常见问题包括路径错误、编码不匹配、命名空间未声明及忽略error_log。

Python怎么用lxml的RelaxNG验证XML-第1张图片-佛山资讯网

lxmlRelaxNG 验证 XML,核心是:先加载 RelaxNG 模式(.rng 文件或字符串),再用它校验 XML 文档对象(etree.ElementTreeetree.Element)。过程不复杂,但几个细节容易出错。

准备 RelaxNG 模式文件

确保你有一个合法的 .rng 文件(XML 格式),例如 schema.rng

<?xml version="1.0"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
  <start>
    <element name="book">
      <interleave>
        <element name="title"><text/></element>
        <element name="author"><text/></element>
      </interleave>
    </element>
  </start>
</grammar>

登录后复制

注意:RNG 必须是 well-formed XML,命名空间要正确;如果用在线或程序生成的 RNG,确认没有遗漏 xmlns 声明。

加载 RNG 并创建验证器

etree.RelaxNG 加载模式,返回一个可调用的验证器对象:

立即学习“Python免费学习笔记(深入)”;

标签: python 编码 常见问题

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~