Я хотел бы построить график, показывающий, какие теги используются как дочерние элементы, из которых другие теги в данном XML-документе.Построение графика структуры 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
Есть ли график строитель общего назначения, который я мог бы использовать с этим функция для создания dotfile или графика в другом формате?
Я также получаю подозрительное подозрение, что есть инструмент, специально предназначенный для этой цели; что это может быть?