【问题标题】:Child Node's attribute value using DOM使用 DOM 的子节点的属性值
【发布时间】:2013-08-28 17:46:17
【问题描述】:

我想在没有 XPath 的情况下使用 DOM 解析器获取 xml 文件中子节点的属性值。有什么办法可以做到这一点

我的节点结构是这样的:

<parent type = "xxxxx">
    <child type = "yyyy">
       <grandchild name = "xxxxx" type ="zzzz" />
       <grandchild name = "xxxyx" type ="zzzx" />
      </child>

我想要给定孩子的类型作为输入的孙子的名字

【问题讨论】:

标签: java xml parsing dom


【解决方案1】:
  • 此子节点是直接在父节点之下还是在较低级别?
  • 是否有多个子节点?

可以这样使用:

NodeList childNodes = parent.getChildNodes();

for(int i = 0; i < childNodes.size(); i++) {
   System.out.println(childNodes.item(i)
                                .getAttributes()
                                .getNamedItem("myAttribute")
                                .getNodeValue());
}

这是我做到的一种方式。

【讨论】:

  • 嗨,我已经在上面发布了我的结构..你能看看吗??
  • 嗨,使用您的方法,我能够检索所有孙属性值。我如何查询它以仅获取那些以特定父类型作为输入的属性值。
【解决方案2】:

是的。

  1. 首先,检查节点是否为Element。如果是这样,请投射到它。
  2. 致电Element.getAttribute

【讨论】:

    最近更新 更多