xml.etree.ElementTree 遍历元素中的元素
时间: 2024-01-08 10:02:09 浏览: 188
你可以通过使用 `Element.iter()` 方法来遍历元素中的所有子元素。此方法返回一个迭代器,它按照文档顺序遍历元素和其所有子元素。
例如,以下代码将遍历名为 `root` 的元素及其所有子元素,并打印每个元素的标签和文本内容:
```python
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
for elem in root.iter():
print(elem.tag, elem.text)
```
注意,此方法还会遍历元素的所有属性,如果你只想遍历元素的子元素,可以使用 `Element.findall()` 方法来获取元素的子元素列表,然后遍历该列表。
相关问题
python xml.etree.ElementTree 分层逐一遍历xml元素中的元素
如果你想要分层逐一遍历 XML 元素中的元素,你可以使用递归函数来实现。以下是一个示例代码,它可以遍历 XML 元素及其所有子元素,并逐层打印每个元素的标签和文本内容:
```python
import xml.etree.ElementTree as ET
def traverse(element, level=0):
# 打印当前元素的标签和文本
print(' ' * level + element.tag, element.text)
# 递归遍历当前元素的所有子元素
for child in element:
traverse(child, level + 1)
# 解析 XML 文件并获取根元素
tree = ET.parse('example.xml')
root = tree.getroot()
# 遍历根元素及其所有子元素
traverse(root)
```
在上面的代码中,我们定义了一个名为 `traverse` 的递归函数,该函数接受一个 XML 元素作为参数,并使用 `element.tag` 和 `element.text` 属性来打印当前元素的标签和文本内容。然后,该函数递归遍历当前元素的所有子元素,并将当前层级加 1 传递给子元素。
最后,我们使用 `ET.parse()` 方法解析 XML 文件,并获取根元素。然后,我们调用 `traverse()` 函数来遍历根元素及其所有子元素。
python xml.etree.ElementTree 遍历xml第四层的元素
可以使用ElementTree模块的迭代器来遍历XML文件中的元素,可以使用以下代码来遍历XML文件中第四层的元素:
```
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
for level1 in root:
for level2 in level1:
for level3 in level2:
for level4 in level3:
print(level4.tag, level4.attrib, level4.text)
```
这段代码通过四个嵌套的循环来遍历XML文件中第四层的元素。每个循环变量都代表当前层级的元素。在循环体中,可以通过访问元素的tag、attrib和text属性来获取元素的相关信息。
阅读全文