【发布时间】:2019-10-13 00:50:02
【问题描述】:
假设一个 XML 文件具有以下结构(如下)。所有不同深度的“家庭”节点都位于“根”元素下。 (对可能的不正确术语表示歉意;此 XML 内容的新内容。)
在“Family”节点下,有“Ancestors”或世代的层级。所以在下面的例子中,“大卫”(1级)有一个父亲叫“塞缪尔”(2级),他有一个父亲叫“弗雷德”(3级),等等。
有多个“家庭”节点。每个家族可能有不同数量的“祖先”层。在下面的示例中,“祖先”的深度为 5 代。其他“家庭”节点可能是 3 代深或 8 代深。每个“家族”节点的世代数未知。
我需要这样显示名称:
David ->Samuel->Fred->John->Frank->Robert (for a 5 generation list)
Mary->Lisa->Karen (for a 3 generation list)
所以我需要遍历每个家庭节点,就像家庭一样“深”(“世代”的数量),并生成一个像上面一样的名称列表。每个家庭的世代数可能不同。
<root>
<Family>
<ID>7588784011</ID>
<Name>David</Name>
<Ancestors>
<Family>
<ID>157050011</ID>
<Name>Samuel</Name>
<Ancestors>
<Family>
<ID>157028011</ID>
<Name>Fred</Name>
<Ancestors>
<Family>
<ID>154606011</ID>
<Name>John</Name>
<Ancestors>
<Family>
<ID>133141011</ID>
<Name>Frank</Name>
<IsCategoryRoot>1</IsCategoryRoot>
<Ancestors>
<Family>
<ID>133140011</ID>
<Name>Robert</Name>
</Family>
</Ancestors>
</Family>
</Ancestors>
</Family>
</Ancestors>
</Family>
</Ancestors>
</Family>
</Ancestors>
</Family>
<Family>
// more ancestors of a varying number
</Family>
</root>
谢谢。
已添加
我在这方面取得了一些进展,代码如 My code is here https://3v4l.org/GV0UV 所示。该代码具有 XML 内容,家庭成员的姓名以每个家庭的不同数字开头。
我得到每个家庭成员输出的名字,但所有名字都在一行上。目的是让每个家族的名字都显示在单独的一行上。
所以我需要在家庭发生变化时插入<br>。
【问题讨论】: