我想创建一个DTD文件来检查XML文件是否是一个二叉树,其中每个节点最多有2个儿子,每个节点都应该有一个指向childern的指针(如果它们退出)
如何在XML中实现它?
提前致谢
答案 0 :(得分:3)
有许多方法可以用XML编写二进制树。这是一个;它假定每个节点的值都在名为“value”的属性中携带。
<!ELEMENT node (node, node?) >
<!ATTLIST node value CDATA #REQUIRED >
也可以要求一个节点有两个孩子或没有孩子(维基百科说这被称为完整的二叉树):
<!ELEMENT node (node, node)? >
第一个DTD但不是第二个DTD将接受简单二叉树的XML表示(来自维基百科关于二叉树的文章):
<node value="2">
<node value="7">
<node value="2"/>
<node value="6">
<node value="5"/>
<node value="11"/>
</node>
<node value="5">
<node value="9">
<node value="4"/>
</node>
</node>
</node>
[哦,是的,还有一件事。如果您以允许其他人重现问题的形式显示您尝试过的内容,那么您更有可能对Stack Overflow上的问题做出良好的回答(如果您不知道从哪里开始,这当然很难)。没有展示你的作品会给人留下你没有做过的印象,只是希望别人为你做你的工作。在SO help files以及Eric Raymond和Rick Moen的论文How to ask questions the smart way中提出有效问题的建议很好。[/ p>