在lxml中进行XML有效性检查可以通过DTD或Schema来实现。以下是使用DTD和Schema进行XML有效性检查的示例:
- 使用DTD进行XML有效性检查:
from lxml import etree # 创建DTD dtd = etree.DTD('example.dtd') # 解析XML文件 tree = etree.parse('example.xml') # 检查XML有效性 if dtd.validate(tree): print('XML is valid.') else: print('XML is invalid.')
- 使用Schema进行XML有效性检查:
from lxml import etree # 创建Schema schema = etree.XMLSchema(etree.parse('example.xsd')) # 解析XML文件 tree = etree.parse('example.xml') # 检查XML有效性 if schema.validate(tree): print('XML is valid.') else: print('XML is invalid.')
在这两个示例中,'example.dtd’和’example.xsd’是DTD和Schema文件的路径,'example.xml’是要检查的XML文件的路径。首先加载DTD或Schema文件,然后解析XML文件并进行有效性检查。