【问题标题】:Converting random xml file to tree diagram将随机xml文件转换为树图
【发布时间】:2016-03-31 08:18:46
【问题描述】:

我经常遇到需要将 XML 文件转换为树形图的情况。可以是我想要可视化的产品目录结构或托管对象模型。

只是想知道是否有人可以推荐一个接受 XML(或其他基于文本的输入)并生成此类图表的工具?我当然可以使用 awk (etc) 脚本将我的 XML 文件转换为几乎任何格式,因此它可以是 CSV 输入或几乎任何基于文本的文件。

干杯! 山姆

【问题讨论】:

    标签: xml awk tree diagram


    【解决方案1】:
    xmlstarlet el -u whatever.xml|awk -F'/' 'BEGIN{print "digraph{"}{print $(NF-1)" -> "$NF}END{print"}"}'|dot -Tpng -o xml.png
    
    display xml.png 
    

    嘿!
    成功了!

    我希望您使用比我更小的 xml 文件。

    xmlstarlet 解析 xml, el 选项将 xml 元素显示为简单的 xpath
    -u 标志消除了多余的兄弟元素
    还有其他许多选项和改进
    例如,包括值或属性。
    awk 打印出 dot 标头,
    然后对于文件中的每一行,
    使用箭头分隔符打印每个 xpath 的最后两个元素
    这对应于 ... err, nigh-DAG
    中的节点之间的边 采用dot 格式。
    请注意,如果不进行特殊处理,这会导致任何根节点上出现自身边缘。
    awk 最后将右大括号打印为页脚。

    dot,
    它是 GraphViz 库的一部分,
    读取格式awk 已将xmlstarlet 输出转换为
    并被告知要写出一张 png 图片
    可以用任何东西查看

    注意:graphviz/dot 和 xmlstarlet 都有很多选项

    可能找到使用的 xml 文件 here (23 KB)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多