【发布时间】:2020-01-21 09:34:44
【问题描述】:
我需要列出至少包含一个孩子的所有元素。例如,在下面的 XML 中,H,I,T 至少有一个子字段。我只需要列出 H、I、T 并忽略其他父母,例如 G_GT、Rec 等。
<?xml version="1.0" encoding="UTF-8"?>
<Doc>
<Rec>
<H>
<Key>H</Key>
<F1>1</F1>
<I>
<Key>I</Key>
<F2>08</F2>
<G_GT>
<T>
<Key>T</Key>
<F3>1</F3>
</T>
<T>
<Key>T</Key>
<F3>2</F3>
</T>
</G_GT>
</I>
</H>
</Rec>
</Doc>
代码的输出应为 H,I,T。 我正在使用 DOM 解析器处理 Java。谁能建议如何使用 DOM 在 Java 中执行此操作?我不能使用 getElementByTagName 等函数,因为我可以获得具有不同父子名称的 XML。因此,我必须避免对子名称或父名称进行任何硬编码。
问候, 菲尔
【问题讨论】:
-
</Doc>在 xml 的底部丢失? -
您的规则似乎错误或不完整。当您的条件是
at least one child。为什么不<G_GT>? -
G_GT 没有字段。它仅包含具有更多字段的 T。我需要 T 但不需要 G_GT
-
T 的字段 Key 和 F3 没有任何子项,因此我需要他们的父项,即 T。因为 G_GT 没有任何无子项字段,即包含诸如
之类的值的字段2 ,我不需要G_GT -
你检查我的答案了吗?对你起作用吗?如果不是,有什么问题?