<?xml version="1.0" encoding="utf-8">
<Root>
<Data>
<Book typeid="10" id="1">
<name><![CDATA[book1]]></name>
<value><![CDATA[book1]]></value>
</Book>
</Data>
</Root>上面的xml串如何通过jdom读取出来 ?用dom4j呢?

解决方案 »

  1.   


    <?xml version="1.0" encoding="utf-8"?>
    <content>
        <person>
            <name>Jack</name>
            <sex>male</sex>
        </person>
        <person>
            <name>Rose</name>
            <sex>female</sex>
        </person>
    </content>//读取xml文件import org.w3c.dom.*;
    import javax.xml.parsers.*;
    import java.util.*;
    import java.io.*;
    public class ReadXml{
        
        public static void main(String[] args){
            
            try{
                DocumentBuilder db=DocumentBuilderFactory.newInstance().newDocumentBuilder();
            
                Document doc=db.parse(new File("e:/workspace/test/test.xml"));
                Element rootElement = doc.getDocumentElement();
                NodeList list = rootElement.getElementsByTagName("name");
                Element element = (Element) list.item(0);
                System.out.println(element.getChildNodes().item(0).getNodeValue());
                element = (Element) list.item(1);
                System.out.println(element.getChildNodes().item(0).getNodeValue());
                
            }catch(Exception e){
                System.out.println(e.getMessage());
            }
            
        }    
    }
      

  2.   

    baiyu123的方法已经很好了,
    我自己写了一个是jdom的,实现方法都差不多,dom4j也一样。
    延用baiyu123的xml~
    <?xml version="1.0" encoding="utf-8"?>
    <content>
        <person>
            <name>Jack</name>
            <sex>male</sex>
        </person>
        <person>
            <name>Rose</name>
            <sex>female</sex>
        </person>
    </content>其实直接表达出来不麻烦,如果多层嵌套就需要递归处理了哦~不知道是不是你想要得~~
    package com.hch.app.cms.role.service;import java.io.File;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;public class ReadXml {    /**
         * @param args
         * @throws IOException
         * @throws JDOMException
         */
        public static void main(String[] args) throws JDOMException, IOException {
            // TODO 自動生成されたメソッド・スタブ
            SAXBuilder builder = new SAXBuilder();        // 获得xml
            Document doc = builder.build(new File("d:/test.xml"));        String name = null;
            String sex = null;        // 获得根节点
            Element root = doc.getRootElement();        // 获得根节点下的子节点
            List<?> rootList = root.getChildren();        // 循环子节点
            for (Iterator<?> iter = rootList.iterator(); iter.hasNext();) {            Element childrenElement = (Element) iter.next();            // 获取子节点下name的内容
                name = childrenElement.getChildText("name");            // 获取子节点下sex的内容
                sex = childrenElement.getChildText("sex");            System.out.println(name);
                System.out.println(sex);        }
        }}
      

  3.   

    其实自己主要都是用dom4j ,不太熟悉jdom。所以问问
    结贴啦。。