我有一个遗留的文件格式,我正在转换为XML进行处理.结构可概括为:
<A>
<A01>X</A01>
<A02>Y</A02>
<A03>Z</A03>
</A>
Run Code Online (Sandbox Code Playgroud)
标签的数字部分可以从01到99,并且可能存在间隙.作为处理的一部分,某些记录可能添加了其他标记.处理完成后,我通过追踪树将文件转换回传统格式.文件相当大(约150,000个节点).
这样做的一个问题是,某些使用传统格式的软件假定标签(或转换时的字段)将按字母数字顺序排列,但默认情况下,新标签将添加到分支的末尾,然后分支的末尾导致它们以错误的顺序从迭代器中出来.
我可以使用XPath来查找,每次我来添加一个新的标签基于标签的名字前述兄弟,但我的问题是,是否有一个简单的树排序一次只是在出口前路?
编辑:
我想我总结了结构.
记录可以包含如上所述的几个级别,以提供如下内容:
<X>
<X01>1</X01>
<X02>2</X02>
<X03>3</X03>
<A>
<A01>X</A01>
<A02>Y</A02>
<A03>Z</A03>
</A>
<B>
<B01>Z</B02>
<B02>X</B02>
<B03>C</B03>
</B>
</X>
Run Code Online (Sandbox Code Playgroud)