XML文件生成:
import java.io.File;
import java.io.FileOutputStream;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class JDOMCreat {
public static void main(String[] args) {
Element bookstore = new Element("bookstore");
Element book = new Element("book");
book.setAttribute("id","1");
book.addContent(new Element("name").setText("哈利波特"));
book.addContent(new Element("author").setText("罗琳"));
book.addContent(new Element("year").setText("2018"));
bookstore.addContent(book);
//新建文档
Document doc = new Document(bookstore);
//读取格式
Format format = Format.getCompactFormat();
format.setEncoding("UTF-8");
//设置xml文件缩进4个空格
format.setIndent(" ");
//建一个xml输出工厂
XMLOutputter xmlout = new XMLOutputter(format);
try {
//将其写好的文本给工厂
xmlout.output(doc, new FileOutputStream("D:/book.xml"));
} catch (Exception e) {
// TODO: handle exception
}
}
}
XML文件读取
import java.io.File;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
public class JdomSax {
public static void main(String[] args) {
//新建构造器解析xml
SAXBuilder sax = new SAXBuilder();
Document doc;
try {
//获取xml文档
doc = sax.build(new File("D:/book.xml"));
//获得根节点
Element bookstore = doc.getRootElement();
//获得根节点下的节点数据
List<Element> books = bookstore.getChildren();
for(Element book: books) {
//获得属性值
book.getAttributeValue("id");
List<Element> bookitems = book.getChildren();
for(Element item:bookitems) {
System.out.println(item.getName());
System.out.println(item.getText());
}
}
} catch (Exception e) {
// TODO: handle exception
}
}
}