编程语言
首页 > 编程语言> > Python Minidom XML查询

Python Minidom XML查询

作者:互联网

我正在尝试使用lxml查询此XML

<lista_tareas>
    <tarea id="1" realizzato="False" data_limite="12/10/2012" priorita="1">
    <description>XML TEST</description>
</tarea>
<tarea id="2" realizzato="False" data_limite="12/10/2012" priorita="1">
    <description>XML TEST2</description>
</tarea>

我写了这段代码:

from lxml import etree
doc = etree.parse(file_path)    

root = etree.Element("lista_tareas")

for x in root:
    z = x.Element("tarea")
    for y in z:
        element_text = y.Element("description").text
        print element_text

它没有打印任何东西,你能建议我怎么办?

解决方法:

你不想使用minidom;请改用ElementTree API. DOM API是一个非常冗长且受约束的API,而ElementTree API则取代了Python的优势.

MiniDOM模块不提供您正在寻找的任何查询API.

您可以使用捆绑的xml.etree.ElementTree模块,也可以安装lxml,它提供更强大的XPath和其他查询选项.

import xml.etree.ElementTree as ET
root = ET.parse('document.xml').getroot()

for c in root.findall('./Root_Node[@id='1']/sub_node'):
    # Do something with c

标签:python,xml,minidom
来源: https://codeday.me/bug/20190620/1247530.html