如现在有个方法是a(Document doc)。
我现在有个对象document,但是它的2级节点才应该是我要穿的参数,怎么获取子节点的document对象呢?

解决方案 »

  1.   

    xml文件
    <?xml version="1.0" encoding="GB2312"?>
    <RESULT>
    <VALUE>
       <NO>A1234</NO>
       <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
    </VALUE>
    <VALUE>
       <NO>B1234</NO>
       <ADDR>四川省XX市XX乡XX村XX组</ADDR>
    </VALUE>
    </RESULT>
    import java.io.*;
    import java.util.*;
    import org.dom4j.*;
    import org.dom4j.io.*;public class MyXMLReader { public static void main(String arge[]) {
      long lasting = System.currentTimeMillis();
      try {
       File f = new File("data_10k.xml");
       SAXReader reader = new SAXReader();
       Document doc = reader.read(f);
       Element root = doc.getRootElement();
       Element foo;
       for (Iterator i = root.elementIterator("VALUE"); i.hasNext() {
        foo = (Element) i.next();
        System.out.print("车牌号码:" + foo.elementText("NO"));
        System.out.println("车主地址:" + foo.elementText("ADDR"));
       }
      } catch (Exception e) {
       e.printStackTrace();
    }
    DOM4J性能最好,连Sun的JAXM也在用DOM4J.目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J.
      

  2.   

    写个方法根据你的xml文件读到2及子节点,然后就可以当参数传了
      

  3.   

    Element text= root.element("2级节点");
    Document d = text.getDocument();
      

  4.   

    java技术群:69705156
    欢迎加入
      

  5.   

    import java.io.File;
    import java.util.List;import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    public class DOM4JTest {    public static void main(String[] args) throws Exception {
         SAXReader reader = new SAXReader();
        
         Document doc = reader.read(new File("d:/1.xml"));
         Element root = doc.getRootElement();//根节点;
         List<Element> list = root.elements();
         for(Element level2: list){//遍历二级节点
         a(level2);
         }
        }
        
        private static void a(Element e){
         System.out.println(e.getName());
        }
        
    }