python 读取xml文件,并按tree模型返回文件中的各个标签及属性,并写入文件中
时间: 2024-04-16 10:28:52 浏览: 129
python解析xml文件方式(解析、更新、写入)
要将读取的 XML 文件按树形模型返回标签及属性,并将其写入文件中,你可以使用 Python 的 `xml.etree.ElementTree` 模块和 `json` 模块。以下是一个示例代码:
```python
import xml.etree.ElementTree as ET
import json
def write_xml_tags_to_file(xml_file, output_file):
tree = ET.parse(xml_file)
root = tree.getroot()
def traverse_element(element, data, depth=0):
indent = ' ' * depth
data.append({"tag": element.tag, "attributes": element.attrib, "depth": depth})
for child in element:
traverse_element(child, data, depth + 1)
data = []
traverse_element(root, data)
with open(output_file, 'w') as file:
json.dump(data, file, indent=2)
# 调用示例
write_xml_tags_to_file("example.xml", "output.json")
```
在上述代码中,`write_xml_tags_to_file` 函数会解析指定的 XML 文件,并按树形结构遍历每个元素,并将标签(`element.tag`)、属性(`element.attrib`)和深度(用于缩进)存储在一个列表中。最后,使用 `json.dump` 将列表写入到指定的文件(在这个示例中是 JSON 文件)中。
请将代码保存到一个 Python 脚本文件中,并将要读取的 XML 文件路径和要保存的输出文件路径传递给 `write_xml_tags_to_file` 函数来运行它。它将读取 XML 文件中的标签和属性,并将其按树形结构写入到输出文件中。
希望这个示例能满足你的需求!如果有任何问题,请随时提问。
阅读全文