利用 JavaBean 读取xml文件

package demo20130531;

import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Article {

	private String title;

	private String author;

	private String email;

	private String date;

	private Authors authors;
	
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public Authors getAuthors() {
		return authors;
	}

	public void setAuthors(Authors authors) {
		this.authors = authors;
	}


}

<?xml version="1.0" encoding="UTF-8"?><articles><article><title>hello</title><author>ctl</author><email>ctl_cn@163.com</email><date>1991-06-29</date><authors><age>22</age><sex>M</sex><address>河南</address></authors></article></articles>

package demo20130531;

public class Authors {
	private int age;
	private String sex;//不可以是char类型
	private String address;
	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String toString() {
		return "age:" + age +
				"  sex:" + sex +
				" address:" + address;
	}
}

package demo20130531;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

//根元素的标签名为articles
@XmlRootElement(name = "articles")
public class ArticleData {

	//articles元素下有多个article元素
	List<Article> article = new ArrayList<Article>();

	public List<Article> getArticle() {
		return article;
	}

	public void setArticle(List<Article> article) {
		this.article = article;
	}

	public static void main(String[] args) throws IOException {

		// 创建xml文档对象,其保存在E盘的根目录下的article.xml文件
		File xmlFile = new File("src2/demo20130531/article.xml");
//		System.out.println(xmlFile.getAbsolutePath());
//		System.out.println(xmlFile.getParent());
		if(!xmlFile.exists())
			xmlFile.createNewFile();
		// 声明JAXBContext上下文对象
		JAXBContext context;
		try {
			// 通过指定映射的类创建上下文
			context = JAXBContext.newInstance(ArticleData.class);
			// 通过上下文创建xml转化java的对象Unmarshaller
			Unmarshaller u = context.createUnmarshaller();
			// 将xml数据转换成java对象
			ArticleData data = (ArticleData) u.unmarshal(xmlFile);
			// 获得所有的article数据
			List<Article> articles = data.getArticle();
			for (Article a : articles) {
				System.out.println("-------------------------");
				System.out.println(a.getAuthor());
				System.out.println(a.getDate());
				System.out.println(a.getEmail());
				System.out.println(a.getTitle());
				System.out.println(a.getAuthors().getAddress()+"  "+a.getAuthors().getAge()+" "+a.getAuthors().getSex());
				System.out.println(a.getAuthors());
			}
		} catch (JAXBException e) {
			e.printStackTrace();
		}
	}
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值