java 创建xml和解析xml
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.dom4j.Document;
import org.dom4j.DocumentFactory;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class WriterXMLDemo {
?
public static void main(String[] args) {
??? Document doc = DocumentFactory.getInstance().createDocument();
??????? doc.addComment("Create persons.xml");
??? // 添加根元素
??? Element root = doc.addElement("persons");
???
??? // 添加根元素的第一个子元素
??? Element rootElem = root.addElement("person");
??? //添加第一个子元素的子元素?
??? Element bookName = rootElem.addElement("name");
??? bookName.addText("aaa");
??? Element bookAutor = rootElem.addElement("age");
??? bookAutor.addText("20");
???
?? //添加属性
?? Element rootElem2 = root.addElement("person");
?? rootElem2.addAttribute("name", "bbb");
?? rootElem2.addAttribute("age", "21");
?
?
?? try {
???? PrintWriter out = new PrintWriter(new FileWriter("C:/workspace/webproject/WebContent/person.xml"));
???? OutputFormat format = OutputFormat.createPrettyPrint();
???? format.setEncoding("gb2312");
???? XMLWriter xmlOut = new XMLWriter(out, format);
???? //输出xml内容
???? xmlOut.write(doc);
????
???? out.close();
???? xmlOut.close();
???? System.out.println("=========success=======");
?? } catch (IOException e) {
??????? e.printStackTrace();
????
?? }
}
}
?
?
?
?
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReaderXMLDemo {
?
public static void main(String[] args) {
??? SAXReader xmlReader = new SAXReader();
?? try {
??? Document doc = xmlReader.read("C:/workspace/webproject/WebContent/person.xml");
??? // 得到根元素
??? Element myRoot = doc.getRootElement();
??? // 得到根元素下所有名字为person的子元素
??? List<Element> persons = myRoot.elements("person");
??? // 得到第一个人
??? Element onePerson = persons.get(0);
??? // 得到第一个人下的名称元素
??? Element oneName = onePerson.element("name");
??? // 得到第一个人的名字值
??? String oneNameValue = oneName.getText();
??? System.out.println("oneName=====>" + oneNameValue);
???
??? Element oneAge = onePerson.element("age");
??? String oneAgeValue = oneAge.getText();
??? System.out.println("oneAge=====>" + oneAgeValue);
???
??? //第二个人
??? Element twoPerson = persons.get(1);
??? String twoNameValue = twoPerson.attributeValue("name");
??? System.out.println(twoNameValue);
??? String twoAgeValue = twoPerson.attributeValue("age");
??? System.out.println(twoAgeValue);
?? } catch (DocumentException e) {
????? e.printStackTrace();
?? }
}
}