我的问题是: 当其他元素与父元素的“孙子元素”同名时,如何直接在特定父元素下获取元素。
我正在使用Java
DOM库解析XML
元素,但遇到了麻烦。下面是
一些 我使用的XML(可一小部分):
<notifications>
<notification>
<groups>
<group name="zip-group.zip" zip="true">
<file location="C:\valid\directory\" />
<file location="C:\another\valid\file.doc" />
<file location="C:\valid\file\here.txt" />
</group>
</groups>
<file location="C:\valid\file.txt" />
<file location="C:\valid\file.xml" />
<file location="C:\valid\file.doc" />
</notification>
</notifications>
如您所见,可以在两个位置放置<file>
元素。分组或外部分组。我真的希望它采用这种结构,因为它更加用户友好。
现在,每当我调用notificationElement.getElementsByTagName("file");
它时,它就会为我提供所有<file>
元素,包括该<group>
元素下的元素。我对这些文件的处理方式不同,因此不希望使用此功能。
我想到了两种解决方案:
<notification>
还是<group>
。<file>
元素以避免混淆。这些解决方案都没有像仅保留事物原样并仅获取<file>
元素的直接子<notification>
元素那样令人满意的解决方案。
我对 IMPO 有关“最佳”方法的评论和答案 持 开放 态度 ,但是我对 DOM
解决方案非常感兴趣,因为这是该项目其余部分正在使用的方法。谢谢。
嗯,这个问题的DOM解决方案实际上非常简单,即使它不太优雅。
当我遍历filesNodeList
调用时返回的时notificationElement.getElementsByTagName("file")
,我仅检查父节点的名称是否为“
notification”。如果不是,那么我将其忽略,因为它将由<group>
元素处理。这是我的代码解决方案:
for (int j = 0; j < filesNodeList.getLength(); j++) {
Element fileElement = (Element) filesNodeList.item(j);
if (!fileElement.getParentNode().getNodeName().equals("notification")) {
continue;
}
...
}
问题内容: 考虑以下功能: 而这个HTML部分: 显示警报框,但显示“未定义”。 问题答案: 您看到该错误的原因是因为返回了一个元素。并且a 元素没有属性。 使用此代替:
现在,我有两个名称为和名称为的cookie。 我想让这个getter只从义务cookie中获取值。 我该怎么做?因此将数据拆分为单独的值并将其放入数组中。
嗨,我必须读取一个xml文件,在代码的一部分中有一些字段标签,名称如示例中所述 我只想读取名为“link\u pdf”的字段 如果我用这个密码 我可以读取值,但在某些情况下这不是一个好的工作,如何通过字段名访问值? 不是工作
我正在将自定义对象添加到树集中,以按升序获取名称。 我有这个节目。 请告诉我: 为什么只有一个人被显示 如何得到名字的升序
问题内容: 我有一个多线程应用程序,并且通过属性为每个线程分配了唯一的名称。现在,我希望功能可以使用相应的名称直接访问线程。 类似于以下功能的东西: 上面的函数检查所有正在运行的线程,然后从正在运行的线程集中返回所需的线程。也许我想要的线程被中断了,那么上面的功能将无法正常工作。关于如何整合该功能的任何想法? 问题答案: 您可以使用ThreadGroup查找所有 活动 线程: 获取当前线程的组 通
问题内容: 我搜寻了互联网,但找不到答案: 我正在使用for循环创建36个名为a1,a2等的按钮,并同时为每个按钮分配一个唯一的操作命令。 稍后,我想从actionPerformed(ActionEvent e)方法中获取按钮的名称。 我可以使ActionCommand非常容易,但是我也需要按钮的名称。 任何帮助,不胜感激! 编辑: 这是我正在使用的代码: 这为6x6网格提供了36个按钮,分别为a