jdom可以获取某个节点的xml代码看看吗?<root>
  <a>sdfs</a>
  <b><c>fsf</c></b>
</root>
假如我想看看某个节点,例如,b节点的xml源码,不知道可否?一直找不到方法

解决方案 »

  1.   


    package xml.dom4j;import java.io.File;
    import java.util.List;import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.QName;
    import org.dom4j.io.SAXReader;public class Test1 { private SAXReader reader ;
    private Document   document;
    private static String path = "c:/Dom4jSample2.xml";

    public Test1(String str) throws DocumentException {
    reader = new SAXReader();
        document = reader.read(new File(str));
    }

    //查找指定节点
    public void getInfo() {
    Element root = document.getRootElement();

    QName qname = new QName("b");
    List<Element> list = root.elements(qname);
    for(int i=0;i<list.size();i++) {
    System.out.println(list.get(i).asXML());
    }
    }

    public static void main(String[] args) throws DocumentException {
    // TODO Auto-generated method stub
    Test1 t1 = new Test1(path);
    t1.getInfo();
    }}
      

  2.   

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;public class abc{
           DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();   //定义工厂,从 XML 文档获取生成 DOM 对象树的解析器
    DocumentBuilder db=null;    //从 XML 文档获取 DOM 文档实例
    Document doc = null;    //XML标准规划文档对象模型
    try {
    db = dbf.newDocumentBuilder();
    doc = db.parse(new File(url));
    } catch(Exception e) {
    e.printStackTrace();
    }
    Element el = doc.getDocumentElement();
    String a = el.getElementsByTagName("a").item(0).getTextContent(); 
    }el.getElementsByTagName(String str) 返回的是一个NodeList;
    el.getElementsByTagName(String str) .item(int i)返回的是一个Node;