使用jdom2包实现XML文件生成和读取

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 books = bookstore.getChildren();
			for(Element book: books) {
				//获得属性值
				book.getAttributeValue("id");
				List bookitems = book.getChildren();
				for(Element item:bookitems) {
					System.out.println(item.getName()); 
					System.out.println(item.getText());
				}
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

}

 

你可能感兴趣的:(java)