<?xml version="1.0" encoding="UTF-8"?>
<data>
<group name="2">
<people>
<name>kent</name>
<phone>4545454</phone>
<cellphone>45454</cellphone>
<email>4545454</email>
<qq>让他让他让他</qq>
<address>瑞特让他</address>
<unit>瑞特让他</unit>
<position>杨月恒</position>
<hobby>让让她</hobby>
</people>
</group>
</data>
以上是xml文件
root是data
我要找的name属性是2的group然后再找到name是kent的people,然后再取出找到的people节点的所有子节点的值。
怎么做啊,跪求高手指点!!!!!

解决方案 »

  1.   

    你这个问题,本质上问的是XPath表达式如何写的问题。
    "//group[@name=2]/people[name='kent']"具体请Google查阅XPath语法等参考文献。程序片段:SAXReader reader = new SAXReader();
    Document doc = reader.read(ClassLoader.getSystemResourceAsStream("test.xml"));        
    Node node = doc.selectSingleNode("//group[@name=2]/people[name='kent']");        
    System.out.println(node.asXML());依赖JAR包(版本仅供参考):dom4j-1.6.1,jaxen-1.1.1输出结果:
    <people>
      <name>kent</name>
      <phone>4545454</phone>
      <cellphone>45454</cellphone>
      <email>4545454</email>
      <qq>让他让他让他</qq>
      <address>瑞特让他</address>
      <unit>瑞特让他</unit>
      <position>杨月恒</position>
      <hobby>让让她</hobby>
    </people>