gpt4 book ai didi

python - 构建 XML 文档结构图

转载 作者:数据小太阳 更新时间:2023-10-29 02:13:23 25 4
gpt4 key购买 nike

我想构建一个图表,显示在给定的 XML 文档中哪些标签被用作哪些其他标签的子标签。

我编写了这个函数来获取 lxml.etree 树中给定标签的唯一子标签集:

def iter_unique_child_tags(root, tag):
"""Iterates through unique child tags for all instances of tag.

Iteration starts at `root`.
"""
found_child_tags = set()
instances = root.iterdescendants(tag)
from itertools import chain
child_nodes = chain.from_iterable(i.getchildren() for i in instances)
child_tags = (n.tag for n in child_nodes)
for t in child_tags:
if t not in found_child_tags:
found_child_tags.add(t)
yield t

是否有一个通用的图形生成器,我可以使用此函数来构建点文件或其他格式的图形?

我也偷偷怀疑某个地方有专门为此目的设计的工具;那可能是什么?

最佳答案

我最终使用了 python-graph .我也结束了使用 argparse构建命令行界面,从 XML 文档中提取一些基本信息,并以 pydot 支持的格式构建图形图像.它叫做xmlearn有点用处:

usage: xmlearn [-h] [-i INFILE] [-p PATH] {graph,dump,tags} ...

optional arguments:
-h, --help show this help message and exit
-i INFILE, --infile INFILE
The XML file to learn about. Defaults to stdin.
-p PATH, --path PATH An XPath to be applied to various actions.
Defaults to the root node.

subcommands:
{graph,dump,tags}
dump Dump xml data according to a set of rules.
tags Show information about tags.
graph Build a graph from the XML tags relationships.

关于python - 构建 XML 文档结构图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3273158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com