我已经看过this question,但它来自2009年 什么是在Python 3中处理XML文件的简单现代方法?
即,来自此TLD(改编自here):
<?xml version="1.0" encoding="UTF-8" ?>
<taglib>
<tlib-version>1.0</tlib-version>
<short-name>bar-baz</short-name>
<tag>
<name>present</name>
<tag-class>condpkg.IfSimpleTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
我想解析TLD文件(Java Server Pages标记库描述符),以获取Python中的某种结构(我还要决定该部分)。
因此,我需要一个推送解析器。但是我不会用它做更多的事情,所以我更喜欢一个简单的API(我是Python的新手)。
答案 0 :(得分:0)
import xml.etree.ElementTree as ET
data = """your xml here"""
tree = ET.fromstring(data)
print(tree.find('tag/name').text) # prints "present"
如果你看看标准库之外,有一个非常流行的快速lxml
模块,它遵循ElementTree
接口并支持Python3:
from lxml import etree as ET
data = """your xml here"""
tree = ET.fromstring(data)
print(tree.find('tag/name').text) # prints "present"
此外,还有lxml.objectify
允许您像使用Python对象一样处理XML结构。