`
liuwenlong62555
  • 浏览: 20285 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

java 解析dom4j

阅读更多
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class ParseXmlD4j {
	
	public Document getDocument(String file) throws DocumentException{
		SAXReader sr = new SAXReader();
		InputStream is  = ReaderFileUtils.getFile(file);
		Document doc = sr.read(is);
		return doc;
	}
	
	public Element getRootElement(String file) throws DocumentException{
		Document doc = getDocument(file);
		Element rootEle= doc.getRootElement();
		return rootEle;
	}
	
	public String getEncoding(String file) throws DocumentException{
		Document doc = getDocument(file);
		String encoding = doc.getXMLEncoding();
		return encoding;
	}
	
	public List<Element> getListEle(String str) throws DocumentException{
		List<Element> ls =new ArrayList<Element>();
		Element rootEle = getRootElement(str);
		Iterator it = rootEle.elementIterator();
		while(it.hasNext()){
			Element ele = (Element) it.next();
			ls.add(ele);
		}
		return ls;
	}
	
	public int getAttributesCounter(Element ele) throws DocumentException{
		return ele.attributeCount();
	}
	
	public List<String> getAttributesName(Element ele,String attr,String str) throws DocumentException{
		return getAttributesName(ele,null);
	}
	
	public List<String> getAttributesName(Element ele,String attr) throws DocumentException{
		List<String> str = new ArrayList<String>();
		List<Attribute> ls = ele.attributes();
		for(Attribute att : ls){
			str.add(att.getName());
		}
		return str;
	}
	
	public List<String> getAttributesValue(Element ele,String attr,String str) throws DocumentException{
		return getAttributesValue(ele,null);
	}
	
	public List<String> getAttributesValue(Element ele,String attr) throws DocumentException{
		List<String> str = new ArrayList<String>();
		List<Attribute> ls = ele.attributes();
		for(Attribute att : ls){
			str.add(att.getValue());
		}
		return str;
	}
	
	public String getAttributesValues(Element ele,String attr) throws DocumentException{
		return ele.attributeValue(attr);
	}
	
	public String getElesValue(Element ele) throws DocumentException{
		String text = null;
		text = ele.getTextTrim();
		System.out.println(text);
		return text;
	}
	
	public String getElesName(Element ele) throws DocumentException{
		String name = null;
		name = ele.getName();
		return name;
	}
	
	public void getAllNode(String str) throws DocumentException{
		List<Element> ele = getListEle(str);
		List<Element> e = new ArrayList<Element>();
		for(Element el : ele){
			for(Iterator i = el.elementIterator();i.hasNext();){
				System.out.println(((Element)i.next()).getName());
				e.add(((Element)i.next()));
			}
		}
	}
	
	public void getAllNode(Element ele) throws DocumentException{
			for(Iterator i = ele.elementIterator();i.hasNext();){
			Element et = (Element)i.next();
			getAllNode(et);
		}
	}
	
	public void getAllNodes(Element ele) throws DocumentException{
		for(Iterator i = ele.elementIterator();i.hasNext();){
		Element et = (Element)i.next();
		System.out.println(et.getName());
		for(Iterator j = et.elementIterator();j.hasNext();){
			Element ee = (Element)j.next();
		}
	}
}
	
	public void getObjectList(String str) throws DocumentException{
		List<Element> ele = getListEle(str);
		for(Element el : ele){
			getAllNode(el);
		}
	}
	
	public void get(String str) throws DocumentException{
		List<Element> ele = getListEle(str);
		for(Element el : ele){
			getAllNodes(el);
		}
	}
	
	public void getElementXpath(String file,String xpath) throws DocumentException{
		List<Element> ls = getDocument(file).selectNodes(xpath);
		for(Element el : ls){
			System.out.println(el.getTextTrim());
		}
	}
	
	public void getElementXpaths(String file,String xpath,String str) throws DocumentException{
		List<Element> ls = getDocument(file).selectNodes(xpath, str);
		for(Element el : ls){
			System.out.println(el.getTextTrim());
		}
	}
	
	public void getAttributeXpath(String file,String xpath) throws DocumentException{
		List<Attribute> ls = getDocument(file).selectNodes(xpath);
		for(Attribute el : ls){
			System.out.println(el.getValue());
		}
	}
	
	public static void main(String[] st) throws DocumentException{
		//new ParseXmlD4j().getListEle("interface.xml");
		 //new ParseXmlD4j().get("interface.xml");
		new ParseXmlD4j().getElementXpaths("interface.xml","/FrontInvest/Deals/Members/MemberName","1");
	}
}
 
分享到:
评论

相关推荐

    java 解析xml所需要的dom4j包

    描述中提到的"java xml解析所需要的包",通常包括了DOM4J库和其他辅助库,如XStream。XStream是一个用于Java的XML序列化库,能够将Java对象直接转换为XML,反之亦然。这在需要将数据持久化到XML或者从XML中恢复数据...

    java解析XML dom4j dom4j-1.6.1.jar

    Java解析XML时,dom4j是一个非常流行的库,它提供了灵活且强大的API来处理XML文档。dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的...

    dom4j.jar包,java解析xml dom4j.jar包

    总结来说,DOM4J是Java开发中处理XML文档的强大工具,无论是在解析、查询还是修改XML方面,都提供了高效的解决方案。结合其轻量级的设计和对XPath的支持,DOM4J成为了Java开发者的首选XML库之一。

    Java使用sax、dom、dom4j解析xml文档

    Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...

    dom4j解析xml文件的压缩包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、查询和修改变得简单。这个压缩包包含了DOM4J的完整版本,适用于那些希望在Java项目中使用DOM4J进行XML操作的开发者...

    java_Dom4j解析XML详解

    Java DOM4J解析XML详解 XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。DOM4J是Java中一个强大的、轻量级的处理XML的库,它提供了丰富的API来读取、...

    dom4j 解析(读取) xml 节点数据

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的方式来解析、创建、修改和操作XML数据。在本教程中,我们将深入探讨如何使用DOM4J解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你...

    java.dom4j

    Java DOM4J是一个非常流行的Java库,专门用于处理XML文档。它提供了丰富的API,使得XML的解析、创建、修改和查询变得更为简单。DOM4J是基于DOM模型的,但相比标准的Java DOM API,它更轻量级,性能更好,并且更易于...

    利用DOM4J解析SOAP的简单示例

    DOM4J是一个强大的Java库,用于处理XML文档,包括读取、写入、修改和解析。本篇文章将深入探讨如何利用DOM4J解析SOAP消息中的元素,以便在实际项目中进行有效的数据提取和操作。 首先,理解SOAP消息的结构至关重要...

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于“Document Object Model for Java”,它采用面向对象的设计思想,提供了对...

    dom4j的Java工程

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而灵活的API,使得在Java应用程序中解析、创建、修改和查询XML文件变得容易。在这个“dom4j的Java工程”中,我们可以看到一个示例项目,展示了如何利用...

    java_dom4j架包

    Java DOM4J是一个轻量级、高性能且功能丰富的XML处理库,它提供了全面的XML解决方案,包括解析、生成、操作和转换XML文档。DOM4J是基于Java API的,其名称中的“DOM”指的是文档对象模型(Document Object Model),...

    java dom4j jar包+dom4j API

    Java DOM4J是一个非常流行的Java库,专门用于处理XML文档。它提供了强大的API来解析、创建、修改XML文档,使得开发者能够高效地处理XML数据。DOM4J这个名字来源于Document Object Model (DOM) 和 Java,而4J则表示它...

    Java解析XML文档(DOM与DOM4j两种方式)

    Java提供了多种解析XML的API,其中DOM(Document Object Model)和DOM4j是常用的两种方法。本文将详细介绍这两种方式以及如何使用它们进行XML文档的增、删、改查操作。 一、DOM解析 DOM解析器将整个XML文档加载到...

    java用dom4j解析xml

    XML解析方法主要有四种:DOM(文档对象模型)、SAX(简单API for XML)、StAX(流式API for XML)以及DOM4J。每种方法都有其特定的优势和适用场景。 1. DOM解析: DOM解析器将整个XML文档加载到内存中,形成一个树...

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...

    dom4j-java-API

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API,使得开发者可以轻松地解析、创建、修改以及操作XML数据。在Java世界中,DOM4J是与DOM(Document Object Model)相媲美的一个选择,但它比...

    java dom4j 解析xml的例子,可用

    Java DOM4J库是用于处理XML文档的一个强大的开源框架,它提供了一种灵活且高效的方式来解析、创建和操作XML内容。DOM4J这个名字来源于“Document Object Model”(DOM)和“Java”的组合,它扩展了DOM接口,同时引入...

    dom4j解析xml详解

    DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时的强大工具。DOM4J的最大亮点在于其简洁易用的API...

Global site tag (gtag.js) - Google Analytics