我尝试在Python/lxml中使用XPATH处理XML文件。在
我可以使用以下代码在树的特定级别提取值:
file_name = input('Enter the file name, including .xml extension: ') # User inputs file name
print('Parsing ' + file_name)
from lxml import etree
parser = etree.XMLParser()
tree = etree.parse(file_name, parser)
r = tree.xpath('/dataimport/programmelist/programme')
print (len(r))
with open(file_name+'.log', 'w', encoding='utf-8') as f:
for r in tree.xpath('/dataimport/programmelist/programme'):
progid = (r.get("id"))
print (progid)
它按预期返回值列表。我还想返回“child”的值(如果存在的话),但是我不知道如何返回(我只能将它作为一个单独的列表使用,但我需要维护它们之间的链接)。在
注意:我将把这些值写到日志文件中,但是由于我没有成功地得到我想要的所有内容,所以我还没有添加“write out”代码。在
这是XML的结构:
^{pr2}$如何让Python返回id+idref?在
我以前使用过的示例有名称空间,但这个文件没有
由于
xpath()
方法返回树,因此可以再次使用xpath来获取所需的idref列表:相关问题 更多 >
编程相关推荐