1.有关XML的写
利用JDom2包,JDom2这个包中,至少引入org.jdom2.*;如果要进行XML文件的写出,则要进行导入org.jdom2.output.*;
package com.littlepage.test1; import java.io.*;
import org.jdom2.*;
import org.jdom2.output.*; public class Test3 {
public static void main(String[] args) {
try {
Element rootElement = new Element("rootElement");
Document document = new Document(rootElement);
rootElement.addContent(new Element("student1").addContent(new Element("name").addContent("Jack")).setAttribute("type","transfer student"));
rootElement.addContent(new Element("student1").addContent(new Element("name").addContent("Nancy")));
rootElement.addContent(new Element("student1").addContent(new Element("name").addContent("Lucy")));
XMLOutputter xop = new XMLOutputter();
//设置间距
XMLOutputter out=new XMLOutputter();
Format format=out.getFormat();
format.setEncoding("GB2312");
format.setIndent("\n\t");
out.setFormat(format);
xop.output(document, new FileWriter("student.xml"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
XML文件写入结果
<?xml version="1.0" encoding="UTF-8"?>
<rootElement>
<student1 type="transfer student">
<name>Jack</name>
</student1>
<student1>
<name>Nancy</name>
</student1>
<student1>
<name>Lucy</name>
</student1>
</rootElement>
2.有关XML文件的读
利用SAXBuilder,SAXBuilder在org.xml.input.*;中存在方法SAXBuilder,SAXBuilder是进行XML文件读入的一个类
//递归打印XML的document
public class Test4 {
public static void main(String[] args) {
try{
Document document=new SAXBuilder().build("MyXML.xml");
Element rootElement=document.getRootElement();
recursionXML(rootElement);
}catch(IOException|JDOMException e){
e.printStackTrace();
} }
/**
* recursion XML,for print the root element
* @param element
*/
public static void recursionXML(Element element){
System.out.println(element.getName()+":"+element.getText());
if(!element.getChildren().isEmpty()){
List<Element> li=element.getChildren();
for (Element element2 : li) {
recursionXML(element2);
}
}
}
/
}