使用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<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
		}
	}

}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值