首页 > 解决方案 > 获取节点及其特定子节点

问题描述

我正在尝试获取一个节点和特定的子节点。假设我有以下 XML。

<?xml version="1.0" encoding="UTF-8"?>
<book>
<person>
  <property>number one</property>
  <csvname>
     <name>one</name>
   </csvname>
  <first>Yash</first>
  <last>M</last>
  <age>22</age>
</person>
<person>
  <property>number two</property>
  <csvname>
     <name>two</name>
   </csvname>
  <first>Bill</first>
  <last>Gates</last>
  <age>46</age>
</person>
<person>
  <property>number three</property>
  <csvname>
     <name>three</name>
   </csvname>
  <first>Steve</first>
  <last>Jobs</last>
  <age>40</age>
</person>
</book>

我想获得根元素以及匹配的人元素(假设人有 name=one ),即输出如下:

<person>
  <property>number one</property>
</person>

如何使用 Java xpath 获得以上输出。

我尝试了几个 xpath 表达式,但没有运气。

标签: javaxmlxpathdomxpath

解决方案


这是xpath。

 //name[.='one']/ancestor::person

截屏:

在此处输入图像描述


推荐阅读