<level1>
<level2 id="123aaa">
<level3>
<level4 name="bbb" id="456"/>
</level3>
</level2>
</level1>
我想得到level2的id,level4的name和id
123aaa  bbb 456

解决方案 »

  1.   

    用javax.xml.parsers.*
    org.w3c.dom.*;包可以
     DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
     DocumentBuilder db=dbf.newDocumentBuilder();
     Document doc=db.parse("你的xml文件名");
     NodeList n1=getElementsByTagName("level1");
     Element e1=(Element)n1.item(0);
     System.out.println(e1.getElementsByTagName("level2").item(0).getAttributes().item(0).getNodeValue());//level2的id;
     n1=e1.getElementsByTagName("level3");
    e1=(Element)n1.item(0);
    System.out.println(e1.getElementsByTagName("level4").item(0).getAttributes().item(0).getNodeValue());//level4的name;
    System.out.println(e1.getElementsByTagName("level4").item(0).getAttributes().item(1).getNodeValue());//level4的id;
    这是核心代码,你在加点修饰就可以运行了。
      

  2.   

    Dom4j_XML obj=new Dom4j_XML();
    try
      {
             Document dom=obj.read("你的xml文件名");
    Element root=obj.getrootElement(dom);
             Node level2=root.selectSingleNode("//level1/level2");
             String level2_id=level2.valueOf("@id")
             NOde level4=root.selectSingleNode("//level1/level2/level3/level4");
             String level4_id=level4.valueOf("@id");
    String level4_name=level4.valueOf("@name");
    }
    catch (Exception ex)
    {}
      

  3.   

    刚才那个多一个 "/"
    正确应该如下:
    Dom4j_XML obj=new Dom4j_XML();
    try
      {
             Document dom=obj.read("你的xml文件名");
    Element root=obj.getrootElement(dom);
             Node level2=root.selectSingleNode("/level1/level2");
             String level2_id=level2.valueOf("@id")
             NOde level4=root.selectSingleNode("/level1/level2/level3/level4");
             String level4_id=level4.valueOf("@id");
    String level4_name=level4.valueOf("@name");
    }
    catch (Exception ex)
    {}
      

  4.   

    不行
    Dom4j_XML obj=new Dom4j_XML();编译不能通过
      

  5.   

    Document doc = DocumentHelper.createDocument();
      

  6.   


    try
      {
    SAXReader reader=new SAXReader();
    Document document=reader.read(new File("你的xml文件名"));
    Element root=obj.getrootElement(dom);
             Node level2=root.selectSingleNode("/level1/level2");
             String level2_id=level2.valueOf("@id")
             NOde level4=root.selectSingleNode("/level1/level2/level3/level4");
             String level4_id=level4.valueOf("@id");
    String level4_name=level4.valueOf("@name");
    }
    catch (Exception ex)
    {}
      

  7.   

    try
      {
    SAXReader reader=new SAXReader();
    Document dom=reader.read(new File("你的xml文件名"));
    Element root=dom.getrootElement();
             Node level2=root.selectSingleNode("/level1/level2");
             String level2_id=level2.valueOf("@id")
             NOde level4=root.selectSingleNode("/level1/level2/level3/level4");
             String level4_id=level4.valueOf("@id");
    String level4_name=level4.valueOf("@name");
    }
    catch (Exception ex)
    {}