【问题标题】:How to get the first child element of an xml tag if other tag does not exist in java如果java中不存在其他标签,如何获取xml标签的第一个子元素
【发布时间】:2021-11-02 11:05:25
【问题描述】:

我有一组 XML 文件,我正在尝试将 XML 标记数据插入 MongoDB。实际上,我需要来自 UC-GRP 标签内的 TITLE 标签的文本内容,但 UC-GRP 标签有三个子标签:

  • TITLE,
  • PARA
  • SUB-UC,

有时UC-GRP 标签只有一个SUB-UC 子标签。在这种情况下,我必须从 TITLE 标记中获取文本内容,该标记仅存在于 SUB-UC 标记中。

再次详细说明,如果TITLE标签存在于UC-GRP标签中,则获取文本内容,否则获取SUB-UC标签的TITLE内容。

我编写了一个 java DOM 解析器代码来获取标题内容,但我缺少 <SUB-UC> 标记的子项,即来自 <TITLE> 标记的文本内容。

我已附上截图。

【问题讨论】:

  • 您不应将代码的图像和示例 xml 的屏幕截图添加到您的问题中。见why。请edit您的问题并解决它。

标签: java dom


【解决方案1】:

我不确定您使用什么库来解析 XML(JSoup?),但让我用伪代码解释一下我的解决方案:

for(Tag ucGroup : tags("UC-GRP")) {
  if(ucGroup.containsTag("TITLE")) return ucGroup.getTags("TITLE").getFirst().getTextInIt();
  else return ucGroup.getTags("SUB-UC").getFirst().getTags("TITLE").getFirst().getTextInIt();
}

也许在您的库中没有containsTags() 或类似名称,只需使用循环

如果我误解了什么,请在 cmets 中回复我,因为我不确定。呵呵

【讨论】:

    猜你喜欢
    • 2013-04-29
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    相关资源
    最近更新 更多