首页 > 代码库 > java解析xml文件并输出

java解析xml文件并输出

使用java解析xml文件,通过dom4j,代码运行前需先导入dom4j架包。

ParseXml类代码如下:

import java.io.File;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class ParseXml {	public void read() throws Exception {		SAXReader reader = new SAXReader();		Document document = reader.read(new File("src/test.xml"));		Element root = document.getRootElement();		// 将解析出来的allresource下的resourceitem放在list中		@SuppressWarnings("rawtypes")		List list = root.elements("resourceitem");		// 创建source存放每一个resourceitem中资源		List<XmlBean> source = new ArrayList<XmlBean>();		// 将resourceitem中的各项解析出来,通过XmlBean存放到source中		for (@SuppressWarnings("rawtypes")		Iterator i = list.iterator(); i.hasNext();) {			Element resourceitem = (Element) i.next();			String id = resourceitem.element("id").getText();			String title = resourceitem.element("title").getText();			String keywords = resourceitem.element("keywords").getText();			String kind = resourceitem.element("kind").getText();			String describe = resourceitem.element("describe").getText();			String date = resourceitem.element("date").getText();			String url = resourceitem.element("url").getText();			String author = resourceitem.element("author").getText();			String publisher = resourceitem.element("publisher").getText();			XmlBean bean = new XmlBean();			bean.setId(id);			bean.setTitle(title);			bean.setKeywords(keywords);			bean.setKind(kind);			bean.setDescribe(describe);			bean.setDate(date);			bean.setUrl(url);			bean.setAuthor(author);			bean.setPublisher(publisher);			source.add(bean);		}		//这里只选两个解析出的结果进行输出		for (int i = 0; i < source.size(); i++) {			System.out.println("date数据为:"+source.get(i).getDate());			//System.out.println("url数据为:"+source.get(i).getUrl());		}			for (int i = 0; i < source.size(); i++) {			//System.out.println("date数据为:"+source.get(i).getDate());			System.out.println("url数据为:"+source.get(i).getUrl());		}		}		//主函数调用上面read()方法	public static void main(String[] args){ 		try { 		new ParseXml().read(); 		} catch (Exception e){ 		    e.printStackTrace(); 		} 		} }

 

XmlBean类代码如下:

 

public class XmlBean {      private String id;      private String title;      private String keywords;      private String kind;      private String describe;      private String date;      private String url;      private String author;      public String getKeywords() {          return keywords;      }        public void setKeywords(String keywords) {          this.keywords = keywords;      }        public String getKind() {          return kind;      }        public void setKind(String kind) {          this.kind = kind;      }        public String getDescribe() {          return describe;      }        public void setDescribe(String describe) {          this.describe = describe;      }        public String getDate() {          return date;      }        public void setDate(String date) {          this.date = date;      }        public String getUrl() {          return url;      }        public void setUrl(String url) {          this.url = url;      }        public String getAuthor() {          return author;      }        public void setAuthor(String author) {          this.author = author;      }        public String getPublisher() {          return publisher;      }        public void setPublisher(String publisher) {          this.publisher = publisher;      }        private String publisher;        public String getId() {          return id;      }        public void setId(String id) {          this.id = id;      }        public String getTitle() {          return title;      }        public void setTitle(String title) {          this.title = title;      }  }  

 

 

test.xml文件内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>    <allresource host="192.168.16.111" remote="192.168.16.111">     <resourcenum>499</resourcenum>      <resourceitem>       <id>2</id>        <title>《实数》复习d.doc</title>        <keywords>实数复习,期中复习</keywords>        <kind>doc</kind>        <describe>期中复习训练题</describe>        <date>2008-6-18 20:50:01</date>        <url>http://192.168.16.111:8080/resources/《实数》复习d.doc</url>        <author>胡克林</author>        <publisher>历城二中</publisher>     </resourceitem>      <resourceitem>       <id>3</id>        <title>《轴对称图形》教学设计</title>        <keywords>轴对称图形,平面几何图形</keywords>        <kind>doc</kind>        <describe>认识轴对称图形,知道轴对称图形的含义,能够找出轴对称图形的对称轴</describe>        <date>2008-6-18 20:55:10</date>        <url>http://192.168.16.111:8080/resources/《轴对称图形》教学设计.doc</url>        <author>胡克林</author>        <publisher>历城二中</publisher>     </resourceitem>      </allresource>

 

 

运行结果(我只让他输出了部分值)如下图所示: