【发布时间】:2018-06-02 19:21:41
【问题描述】:
在使用 lxml 解析 XML 文档时,我想查找特定标记的起始行号和结束行号。我可以通过使用lxml.etree.Element 上的sourceline 属性找到起始标签的位置,但是我正在努力寻找结束标签的行号。
我尝试的一个简单例子:
import lxml.etree as ET
xml_sample = b'''<?xml version="1.0" encoding="utf-8"?>
<collection>
<item>
<value>foo</value>
</item>
<item>
<value>
bar
</value>
</item>
</collection>'''
for el in ET.fromstring(xml_sample).getroottree().findall('//value'):
print('Found value "{el.text}" starting on line {el.sourceline} '
'and ending on line ???.'.format(el=el))
上例中value元素的结束标记行号是否可以获取?
【问题讨论】: