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

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

java解析xml文件并输出的更多相关文章

  1. 使用Java解析XML文件或XML字符串的例子

    转: 使用Java解析XML文件或XML字符串的例子 2017年09月16日 11:36:18 inter_peng 阅读数:4561 标签: JavaXML-Parserdom4j 更多 个人分类: ...

  2. Java解析xml文件遇到特殊符号&会出现异常的解决方案

    文/朱季谦 在一次Java解析xml文件的开发过程中,使用SAX解析时,出现了这样一个异常信息: Error on line 60 of document : 对实体 "xxx" ...

  3. java解析XML文件

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...

  4. Java解析XML文件的方式

    在项目里,我们往往会把一些配置信息放到xml文件里,或者各部门间会通过xml文件来交换业务数据,所以有时候我们会遇到“解析xml文件”的需求.一般来讲,有基于DOM树和SAX的两种解析xml文件的方式 ...

  5. JAVA解析XML文件(DOM,SAX,JDOM,DOM4j附代码实现)

    1.解析XML主要有四种方式 1.DOM方式解析XML(与平台无关,JAVA提供,一次性加载XML文件内容,形成树结构,不适用于大文件) 2.SAX方式解析XML(基于事件驱动,逐条解析,适用于只处理 ...

  6. java 解析xml文件案例

    package xmlTest; import javax.xml.parsers.*; import org.w3c.dom.*; public class GetXml { public stat ...

  7. 关于java解析xml文件出现的问题

    DOM解析xml文件 问题1:导入javax.xml.parsers.DocumentBuilderFactory出现问题,如图: 解决办法是:由于创建工程时有个默认的jre,重新创建工程改掉就解决了 ...

  8. java解析XML文件四种方法之引入源文件

    1.DOM解析(官方) try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();         Documen ...

  9. 【JAVA解析XML文件实现CRUD操作】

    一.简介. 1.xml解析技术有两种:dom和sax 2.dom:Document Object Model,即文档对象模型,是W3C组织推荐的解析XML的一种方式. sax:Simple API f ...

随机推荐

  1. Sass与Compress实战:第三章

    概要:这一章将介绍Compass如何使Web设计中最基础的部分——布局变得简单. 本章内容: ● 网格布局的基本原理以及何时使用网格布局 ● 使用Compass时的CSS网格布局框架选项 ● 使用排版 ...

  2. 使用php创建WebSocket服务

    执行方法:首先先修改server.php与index.html的ip通过命令行执行 [php路径]php.exe "[文件路径]server.php"然后通过浏览器打开index. ...

  3. 1.Date对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. vultr和digitalocean vps使用感受

    中国用户购买海外vps看中的是欧美vps性价比高,不必备案,隐私保护好.但是,由于涉及到vps代理推广,国内涌现大量vps推广站点,他们纯粹发布一些vps促销信息去吸引潜在买家,甚至根本没有使用过所推 ...

  5. 工具类 Util.Browser

    /** * @description get the param form browser * @author xf.radish * @param {String} key the param yo ...

  6. 6.编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的 立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来 测试类Print。

    Print类: package com.bao; public class Print { int g,s,b; void outPut() { for(int i=100;i<1000;i++ ...

  7. Tcp Socket非阻塞recv

    最近看了许多关于网络编程的资料,自己小记一下,以方便以后查找. 什么是阻塞socket,什么是非阻塞socket.对于这个问题,我们要先弄清什么是阻塞/非阻塞.阻塞与非阻塞是对一个文件描述符指定的文件 ...

  8. Java多态(二)

    public class ExtendsTest { public static void main(String[] args) { A a1 = new A(); A a2 = new B(); ...

  9. Repeater控件的嵌套使用

    1.前台代码: <asp:Repeater ID="OrderList" runat="server" onitemdatabound="Ord ...

  10. oracle导入导出数据库

    oracle导出dmp文件: 开始->运行->输入cmd->输入 exp user/password@IP地址:1521/数据库实例 file=文件所在目录 (如:exp user/ ...