可视化XML树结构

时间:2016-02-26 17:23:26

标签: xml visualization graph-visualization

我有几个XML文件,它们具有相似的结构,但有一些我不能忽视的差异。它们都是TEI文件。

我正在寻找一种概述主要结构的方法。

以以下文字为例:

<text xmlns="http://www.tei-c.org/ns/1.0" xml:id="d1">
<body xml:id="d2">
<div1 type="book" xml:id="d3">
<head>Songs of Innocence</head>
<pb n="4"/>
<div2 type="poem" xml:id="d4">
<head>Introduction</head>
<lg type="stanza">
<l>Piping down the valleys wild, </l>
<l>Piping songs of pleasant glee, </l>
<l>On a cloud I saw a child, </l>
<l>And he laughing said to me: </l>
</lg>

我想抑制相同类型的节点和所有重复结构:

<body xml:id="d2">
<div1 type="book" xml:id="d3">
<head>Songs of Innocence</head>
<pb n="4"/>
<div2 type="poem" xml:id="d4">
<head>Introduction</head>
<lg type="stanza">
<l>...</l>
</lg>
<lg>...</lg>

所以,基本上我想将XML文档缩减到最基本的结构。通过这种方式,我可以弄清楚如何使用XSLT正确转换它们。

2 个答案:

答案 0 :(得分:1)

以下是在树形结构中查看XML的一些选项:

  1. 在Web浏览器中打开XML并获取大纲视图 可折叠的元素。
  2. OxygenQTAssistantXMLSpy中的图形视图中打开XML。
  3. 使用Graphviz or DotML ant build创建自己的 视觉表现。
  4. 但请注意,您需要清理标记。您显示的内容不符合XML条件,因为它缺少结束标记并且缺少单个根元素。 (XML必须 well-formed 。)

答案 1 :(得分:1)

使用perl XML :: DT,(如果没有安装 Post.objects.filter(Post.timestamp + Post.duration > datetime.datetime.now()) ), 命令apt-get install libxml-dt-perl返回一个紧凑的描述 xml结构。实施例

mkxmltype file.xml