当前位置: 首页 > 面试题库 >

如何知道一个标签是否包含一个值或另一个标签?

汤玉宸
2023-03-14
问题内容

我在Java中使用DOM表示形式

如何区分xml标记中是否包含值或是否包含另一个嵌入式标记?例如,我可以拥有:

<item> 2 </item>

要么

<item> <name> item1 </name> </item>

我想做以下

if(condition1 : there is no tags inside item tag) do ...
else  do ...

如何写条件1?


问题答案:

您可以通过遍历子节点列表来测试每个子节点:

public static boolean hasChildElements(Element el) {
    NodeList children = el.getChildNodes();
    for (int i = 0; i < children.getLength(); i++) {
        if (children.item(i).getNodeType() == Node.ELEMENT_NODE) {
            return true;
        }
    }
    return false;
}

然后condition1是(! hasChildElements(el))

或者,您可以使用实施测试getElementsByTagName("*").getLength() == 0。但是,如果
元素,这种方法会遍历整个片段您正在测试,并分配大量内存。



 类似资料:
  • 我的XSLT1.0模板中有两个变量,每个变量包含一个节点集(用xpath选择)。我想确定一个变量中的节点集是否包含在另一个变量中的节点集中。例如,假设我有一个包含嵌套部分的章节。我想看看是否包含在中: 我试图获取节点集的交集,以查看是否是和共享的第一个公共元素,但这不起作用: 添加一些上下文。我正在用这个xslt为html页面树创建一个选项卡式界面,我试图解决的问题是将class=“current

  • 问题内容: 目标: 使用jQuery,我试图替换所有出现的情况: 与: 我的解决方案: 我了解到以下内容: 我的解决方案的问题: 但是问题在于它用 第一个 “ code”标签之间的内容替换了(第二,第三,第四等)“ code”标签之间的所有内容。 例如 变成 我认为我需要使用“ this”和某种功能,但恐怕我还在学习,并且不太了解如何将解决方案组合在一起。 问题答案: 您可以将一个函数传递给 [d

  • 问题内容: 如何知道一个字符串是否包含重音? 问题答案: 在列表中添加您想要的任何重音

  • 问题内容: 如何测试一个列表是否包含另一个列表(即它是一个连续的子序列)。假设有一个名为contains的函数: 编辑: 问题答案: 这是我的版本: 正如安德鲁·贾菲(Andrew Jaffe)在他的评论中指出的那样,它返回一个元组(start,end + 1),因为我认为这更像pythonic。它不对任何子列表进行切片,因此应该相当有效。 新手感兴趣的一点是,它使用了for语句上的else子句-

  • 当一个标记接触到另一个标记时,我如何使一个条件被执行?我会这样做: 但不管用。我是不是忘了什么?您好,Tjovo工作室

  • 问题内容: 我从http://www.movable-type.co.uk/scripts/latlong.html实现了“轴承”公式。但这似乎非常不准确- 我怀疑我的实现中存在一些错误。您能帮我找到它吗?我的代码如下: 问题答案: 您将括号放在错误的位置。 您正在将度数添加到以弧度为单位的值,这将不起作用。将为您完成从弧度到度的转换, 然后 在获得度值后进行归一化。 你有: 但是您需要: 也请记