java读取xml文件的两种方式

原创 2013年07月14日 11:33:17

方式一

package accp.dom4j;

import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class W3cXML {
	
	public static void main(String[] args) {

		//得一文件流
		InputStream is=W3cXML.class.getResourceAsStream("/actions.xml");
		
		//得到一个工厂实例
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		//得到一个dom解析器
		try {
			DocumentBuilder db= dbf.newDocumentBuilder();
			//解析
			try {
				Document doc=db.parse(is);
				//get elemetn
				NodeList actionList=doc.getElementsByTagName("action");
				
				//System.out.println("Dom4jTest.main()"+actionList.getLength());
				for(int i=0;i<actionList.getLength();i++){
					System.out.println("----------------------->");
					Element node=(Element) actionList.item(i);
					String name=node.getAttribute("name");
					System.out.println("acitonName:\t"+name);
					
					String path=node.getElementsByTagName("path").item(0).getFirstChild().getNodeValue().trim();
					String actionClass=node.getElementsByTagName("actionClass").item(0).getFirstChild().getNodeValue().trim();
					
					System.out.println("path:"+path);
					System.out.println("actionClass:"+actionClass);
					
				}
				
				
			} catch (SAXException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		
		
	}
	
	
}

方式二

package accp.dom4j;
import java.io.InputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jXML {

	/**
	 * @param args
	 * 不会一次读完,是一个一个的读取
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		InputStream is=Dom4jXML.class.getResourceAsStream("/actions.xml");
		//解
		Document doc;
		try {
			doc = new SAXReader().read(is);
			//root
			Element root=doc.getRootElement();
			
			//reader
			List<Element> actionList=root.elements("action");
			
			//读取值
			for(Element el:actionList){
				System.out.println("*****************");
				System.out.println("Action--name:\t"+el.attributeValue("name"));								
				System.out.println("path:"+el.element("path").getTextTrim());
				System.out.println("class:"+el.element("actionClass").getTextTrim());	
					
			}
			
			
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}

}

声明一下,我取的类名字搞反了!哈哈,dom4j和w3c

对应的XML文件格式

<?xml version="1.0" encoding="UTF-8"?>
<actions>

<action name="login" >
<path>/Login</path>
<actionClass>accp.service.Login</actionClass>
</action>

<action name="register">
<path>/Login</path>
<actionClass>accp.service.Login</actionClass>
</action>


</actions>



相关文章推荐

Java中将xml文件转化为json的两种方式

最近一直没有时间写博客,忙着找房子,天天来回折腾,光地铁费就花了不少,最后综合各种因素考虑,决定沙河高教园,哈哈,没错,别人都是越搬离公司越近,我是越搬越远,但是直觉告诉我应该没有错,昨天晚上刚搬完家...

Java解析XML文件两种方式

【1】利用DOM进行XML文件的解析,简要过程如下: 【1】创建DocumentBuilderFactory工厂-通过该工厂得到DOM解析器工厂实例 DocumentBuilderFactory fa...

java--通过DOM方式对xml文件进行读取的简单实例

代码如下: package TestDemo; import javax.naming.NameNotFoundException; import javax.xml.parsers.Docume...

java读取XML文件的四种方式及比较

data A1234 四川省XX县XX镇XX路X段XX号 B1234 四川省XX市XX乡XX村XX组
  • so_sss
  • so_sss
  • 2014年11月08日 16:47
  • 3692

通过编码和xml文件两种方式实现tween动画

tween有四种动画效果:alpha(透明)、rotate(旋转), translate(移动),scale(缩放); 可以通过编码和xml文件这两种方式来实现。 xml实现: 第一步:在项目的res...

python语言解析xml文件的常用的有两种方式

python语言解析xml文件的常用的有两种方式: 通过MiniDom库解析xml文件通过ElementTree库解析xml文件 MiniDom方式解析xml  xml文件以data.x...
  • sonny45
  • sonny45
  • 2012年08月18日 12:56
  • 440

Java加载和解析XML文件的两种方法

对于Java来说,加载和解析XML文件有两种方法: 一种:通过加载整个XML文件生成Document文档,然后解析Document文档内容的树和根。 另一种:利用SAX封装类来逐步解析。 这两种...

Java中对xml文件的四种解析方式

books.xml 冰与火之歌 乔治马丁 2014 88 安徒生童话 ...

Java之JDOM方式解析XML文件(学习笔记)

使用JDOM方式解析XML文件,不是java官方提供的方法,所以我们的需要自己导入一个jdom-2.0.5.jar包,下载地址为:http://download.csdn.net/detail/xx_...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java读取xml文件的两种方式
举报原因:
原因补充:

(最多只允许输入30个字)