我想在python中读取一个xml文件,如下所示:
<xml>
<project name = "proj1">
<design name = "des1">
<param>para1</param>
</design>
<design name = "des2">
<param>para4</param>
</design>
</project>
<project name = "proj2">
<design name = "des2">
<param>para2</param>
</design>
</project><project name = "proj3">
<design name = "des3">
<param>para3</param>
</design>
</project>
</xml>
我想用xml.etree.ElementTree文件你知道吗
我可以阅读所有这样的项目
tree = ET.parse(path)
root = tree.getroot()
for child in root:
print child.get("name")
但是我如何得到一个特定的项目,比如proj1中des2中的param?你知道吗
就我个人而言,我会使用lxml而不是原生python ETree代码。这样就可以使用XPath,这使得操作xml变得更加容易。你知道吗
例如,获取您请求的元素的代码是:
更新:看起来ETree支持完整XPath的一个子集,因此它可以满足@mgibsonbr指出的需求
阅读the docs获取
etree
的列表(带示例),其中列出了遍历DOM和检索数据所能做的一切。如果您对xpath不熟悉,您可能还想阅读它(即使这个模块does not fully support it,您也可以使用它的子集轻松地检索一些元素)。对于您的具体示例,它将是:相关问题 更多 >
编程相关推荐