import java.util.List;
import java.net.URL;
import org.jdom.*;
import org.jdom.xpath.*;
import org.jdom.input.*;
import java.io.*;
import java.util.*;public class Test{
  public static void main(String[] args) throws Exception{SAXBuilder builder = new SAXBuilder();
Document doc = builder.build("kk.xml");
Element root = doc.getRootElement();XPath xpath = XPath.newInstance("//username[../user='b']");
Iterator iter = list.iterator();
while (iter.hasNext()) {
   Element item = (Element) iter.next();
   System.err.println(item.getText());
   }}

解决方案 »

  1.   

    上面的Xpath写得有点问题
    更正一下
    XPath xpath = XPath.newInstance("//user[./username='b']");
      

  2.   

    Iterator iter = list.iterator();有问题啊,能告诉我该怎么改吗
      

  3.   

    我将上面的程序进行了一下修改,但还是不能得到我所要的
    import java.io.*;
    import java.util.*;
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.output.*;
    import org.jdom.xpath.*;
    public class List1{
        public static void main(String[] args) throws Exception{
           SAXBuilder builder = new SAXBuilder();
           Document doc = builder.build("list.xml");
           XPath xpath = XPath.newInstance("//user[./username='b']");
           List user=xpath.selectNodes(doc);
           Iterator iter =user.iterator();
           while (iter.hasNext()) {
           Element item = (Element) iter.next();
           System.out.println(item.getText());
       }
    }
    }
    可是结果什么也没有输出。
      

  4.   

    XPath xpath = XPath.newInstance("//user[//username='b']");
      

  5.   

    XPath.newInstance("//user/*[../username='b']");
      

  6.   

    你调试之后能输出什么吗?我怎么还是不行啊?还是我的jdom.jar文件放的有问题吗?能不能告诉我jdom的配置问题啊。因为用xpath的时候,用到了jaxen-jdom.jar,saxpath.jar,这些包在jdom里的lib目录下,我该怎么用呢?
      

  7.   

    一共应该把3个jar放在lib目录里面
    jdom.jar
    jaxen-jdom.jar
    saxpath.jar
      

  8.   

    设置环境变量,将jdom文件夹的路径设置成classpath