我将一个大型XML文档切成一张表,并遇到了嵌套节点结构的一些麻烦,在那里我要从文档中提取ID。 这是XML结构(样式化)的示例:
<ROOT>
<ENTITY>
<UNIT>
<ID>TEXT 1.0</ID>
</UNIT>
<ENTITY>
<UNIT>
<ID>TEXT 2.0</ID>
</UNIT>
<ENTITY>
<UNIT>
<ID>TEXT 3.0</ID>
</UNIT>
</ENTITY>
<ENTITY>
<UNIT>
<ID>TEXT 3.1</ID>
</UNIT>
<ENTITY>
<UNIT>
<ID>TEXT 4.0</ID>
</UNIT>
</ENTITY>
</ENTITY>
</ENTITY>
<ENTITY>
<UNIT>
<ID>TEXT 2.1</ID>
</UNIT>
<ENTITY>
<UNIT>
<ID>TEXT 3.2</ID>
</UNIT>
</ENTITY>
</ENTITY>
</ENTITY>
</ROOT>
如您所见,有多个具有相同名称的嵌套节点(例如 ENTITY 和 UNIT ),但我只想要两个第一层。 / p>
我已经尝试过// UNIT / ID / text(),但是我得到了所有后代...
我的想法是,如果我可以返回前两个级别,则可以制作一个映射表,该表将顶层与它的直接子级联系起来。...
我想要的输出将是:
ID (string) SubID Array(string)
TEXT 1.0 {TEXT 2.0,TEXT 2.1}
TEXT 2.0 {TEXT 3.0,TEXT 3.1}
TEXT 2.1 {TEXT 3.2}
TEXT 3.0 {null}
TEXT 3.1 {TEXT 4.0}
TEXT 4.0 {null}
如果您选择了2.级别ID,您将获得直接指导子级别ID等的级别,因为理论上的嵌套可能会不断进行。