package ant.xml.test;import java.io.FileOutputStream;
import java.util.List;import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/**
 * need add jdom jar to the classpath
 * @author ilysony
 *
 */
public class XmlTest {
public static void main(String[] args){
XmlTest xt = new XmlTest();
try {
xt.buildXml();
} catch (Exception e) {
e.printStackTrace();
}

SAXBuilder  sb = new SAXBuilder();
try{
Document readDoc = sb.build("student-info.xml");
Element stu = readDoc.getRootElement();  //<student-info>
List list = stu.getChildren("student");
for(int i=0;i<list.size();i++){
Element e = (Element)list.get(i); //<student>
String numberStr = e.getChildText("number");  //<number>001</number>
String nameStr = e.getChildText("name"); //<name>张三</name>
String ageStr = e.getChildText("age");  // <age>25</age>
System.out.println("student-info");
System.out.println("----------student-------------");
System.out.println("number:-------"+numberStr);
System.out.println("name:-------"+nameStr);
System.out.println("age:-------"+ageStr);
}
}catch(Exception e){
e.printStackTrace();
}


}
public void buildXml() throws Exception{
Element root;
Element student;
Element number;
Element name;
Element age;

root = new Element("student-info");
student  = new Element("student");
number = new Element("number");
name = new Element("name");
age = new Element("age");
root.addContent(student);

Document doc = new Document(root);

number.setText("001");
name.setText("张三");
age.setText("25");
student.addContent(number);
student.addContent(name);
student.addContent(age);


Format format = Format.getCompactFormat();
format.setEncoding("gb2312");
format.setIndent(" ");

XMLOutputter  xmlOutputter = new XMLOutputter(format);
xmlOutputter.output(doc, new FileOutputStream("student-info.xml"));
}

}

解决方案 »

  1.   


    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <person>
    <name>a1</name>
    <salaris>99999</salaris>
    </person>
    <person>
    <name>a2</name>
    <salaris>99999</salaris>
    </person>
    <person>
    <name>a3</name>
    <salaris>99999</salaris>
    </person>
    </root>
    import java.util.List;import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;public class One
    {
        public static void main(String[] args)
        {
            SAXBuilder builder = new SAXBuilder();        Document doc = null;
            try
            {
                doc = builder.build(ClassLoader.getSystemResource("test.xml"));
            }
            catch (JDOMException e1)
            {
                e1.printStackTrace();
            }
            if (null != doc)
            {
                Element root = doc.getRootElement();
                List list = root.getChildren("person");
                for (int i = 0; i < list.size(); i++)
                {
                    Element element = (Element) list.get(i);
                    String name = element.getChildText("name");
                    System.out.println(name);
                }
            }    }}
    需要下载jdom.jar  
      

  2.   


    <?xml version="1.0" encoding="UTF-8"?>
    <sys-configure>
        <jdbc-info>
            <driver-class-name>oracle.jdbc.driver.OracleDriver</driver-class-name>
            <url>jdbc:oracle:thin:@127.0.0.1:1521:sxt</url>
            <user-name>drp</user-name>
            <password>drp</password>
        </jdbc-info>
    </sys-configure>GlobalConfigure.java
    package com.bjsxt.shopping.testjdom;import java.io.IOException;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    import org.jdom.xpath.XPath;public class GlobalConfigure
    {
        private static GlobalConfigure instance = new GlobalConfigure();
        private static final String CONFIG_FILE_NAME = "gobal-configure.xml";
        private Element rootElt;
        private JdbcInfo jdbcInfo = new JdbcInfo();    private GlobalConfigure()
        {
            SAXBuilder sb = new SAXBuilder();
            try
            {
                Document doc = sb.build(Thread.currentThread().getContextClassLoader().getResourceAsStream(CONFIG_FILE_NAME));
                this.rootElt = doc.getRootElement();
                this.initJdbcInfo();
            } catch (JDOMException e)
            {
                e.printStackTrace();
            } catch (IOException e)
            {
                e.printStackTrace();
            }
        }    private void initJdbcInfo()
        {
            try
            {
                Element driverClassNameElt = (Element) XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/driver-class-name");
                //System.out.println(driverClassNameElt.getText());
                jdbcInfo.setDriverClassName(driverClassNameElt.getText());
               
                Element urlElt=(Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/url");
                jdbcInfo.setUrl(urlElt.getText());
               
                Element userNameElt=(Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/user-name");
                jdbcInfo.setUsername(userNameElt.getText());
               
                Element passwordElt=(Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/password");
                jdbcInfo.setPassword(passwordElt.getText());
            } catch (JDOMException e)
            {
                e.printStackTrace();
            }
        }    public static void main(String args[])
        {
            System.out.println(GlobalConfigure.getInstance().getJdbcInfo());
        }    public static GlobalConfigure getInstance()
        {
            return instance;
        }    public JdbcInfo getJdbcInfo()
        {
            return jdbcInfo;
        }
    }