Python 如何使用lxml获取XML声明字符串

Python 如何使用lxml获取XML声明字符串,python,xml,lxml,Python,Xml,Lxml,我使用lxml解析XML文档 如何获取声明字符串 <?xml version="1.0" encoding="utf-8" ?> 我想检查它是否存在,它有什么编码以及xml版本。解析文档时,生成的ElementTree对象应该有一个DocInfo对象,其中包含有关解析的xml或HTML文档的信息 对于XML,您可能对该DocInfo的XML\u版本和编码属性感兴趣: >>> from lxml import etree >>> tree

我使用
lxml
解析XML文档 如何获取声明字符串

 <?xml version="1.0" encoding="utf-8" ?> 


我想检查它是否存在,它有什么编码以及xml版本。

解析文档时,生成的
ElementTree
对象应该有一个
DocInfo
对象,其中包含有关解析的xml或HTML文档的信息

对于XML,您可能对该
DocInfo
XML\u版本
编码
属性感兴趣:

>>> from lxml import etree
>>> tree = etree.parse('input.xml')
>>> tree.docinfo
<lxml.etree.DocInfo object at 0x7f8111f9ecc0>
>>> tree.docinfo.xml_version
'1.0'
>>> tree.docinfo.encoding
'UTF-8'
来自lxml导入etree的
>>
>>>tree=etree.parse('input.xml')
>>>tree.docinfo
>>>tree.docinfo.xml\u版本
'1.0'
>>>tree.docinfo.encoding
“UTF-8”

也许您应该检查XML文件中是否可以找到具有该声明值()的字符串:

def匹配线(路径、线号、文本):
"""
path=用于定义要检查的文件
line_number=用于标识要检查的行
text=包含要匹配的文本的字符串
"""
文件=打开(路径)
line_file=file.readline()
line_file=line_file.rstrip()
第1行
而行_文件!="":
如果行号==行号:
如果第_行文件==文本:
返回真值
其他:
返回错误
线路编号=线路编号+1
line_file=file.readline()
line\u file=line\u file.rstrip()