使用XML表示树的最佳方法是什么?

san*_*lto 1 xml tree data-structures

我正在实现一些类来处理公共数据结构(Tree,BinaryTree,Search Binary Tree,BTree,AVL等).我想要一种方法来将树信息存储在数据源中并将其解析为其中一个类.最简单的方法是使用XML(可移植性非常重要).问题是我制作的XML文档不容易阅读.他们不够"直观".例如,我正在做这样的事情:

<?xml version="1.0" encoding="UTF-8"?>
<tree>
    <root>100</root>
    <node>
        <tree>
            <root>50</root>     
        </tree>
    </node>
    <node>
        <tree>
            <root>200</root>        
        </tree>
    </node>
</tree>
Run Code Online (Sandbox Code Playgroud)

在那里,树将是这样的:

                    100
              50                200
Run Code Online (Sandbox Code Playgroud)

你说什么?你有其他推荐吗?

Dam*_*ien 5

我没有在您的描述中看到根,树的叶子和其他节点之间的任何重要的结构差异.所以他们都可以拥有相同的内容模型,如下例所示:

<tree>
    <value>100</value>
    <tree>
        <value>50</value>
    </tree>
    <tree>
        <value>200</value>
    </tree>
</tree>
Run Code Online (Sandbox Code Playgroud)

此结构稍微冗长,XML文档树与您尝试表示的树匹配.如果您的值可以表示为字符串,您甚至可以这样写:

<tree>
    100
    <tree>50</tree>
    <tree>200</tree>
</tree>
Run Code Online (Sandbox Code Playgroud)