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库和其他辅助库,如XStream。XStream是一个用于Java的XML序列化库,能够将Java对象直接转换为XML,反之亦然。这在需要将数据持久化到XML或者从XML中恢复数据...
Java解析XML时,dom4j是一个非常流行的库,它提供了灵活且强大的API来处理XML文档。dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的...
总结来说,DOM4J是Java开发中处理XML文档的强大工具,无论是在解析、查询还是修改XML方面,都提供了高效的解决方案。结合其轻量级的设计和对XPath的支持,DOM4J成为了Java开发者的首选XML库之一。
Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、查询和修改变得简单。这个压缩包包含了DOM4J的完整版本,适用于那些希望在Java项目中使用DOM4J进行XML操作的开发者...
Java DOM4J解析XML详解 XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。DOM4J是Java中一个强大的、轻量级的处理XML的库,它提供了丰富的API来读取、...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的方式来解析、创建、修改和操作XML数据。在本教程中,我们将深入探讨如何使用DOM4J解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你...
Java DOM4J是一个非常流行的Java库,专门用于处理XML文档。它提供了丰富的API,使得XML的解析、创建、修改和查询变得更为简单。DOM4J是基于DOM模型的,但相比标准的Java DOM API,它更轻量级,性能更好,并且更易于...
DOM4J是一个强大的Java库,用于处理XML文档,包括读取、写入、修改和解析。本篇文章将深入探讨如何利用DOM4J解析SOAP消息中的元素,以便在实际项目中进行有效的数据提取和操作。 首先,理解SOAP消息的结构至关重要...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于“Document Object Model for Java”,它采用面向对象的设计思想,提供了对...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而灵活的API,使得在Java应用程序中解析、创建、修改和查询XML文件变得容易。在这个“dom4j的Java工程”中,我们可以看到一个示例项目,展示了如何利用...
Java DOM4J是一个轻量级、高性能且功能丰富的XML处理库,它提供了全面的XML解决方案,包括解析、生成、操作和转换XML文档。DOM4J是基于Java API的,其名称中的“DOM”指的是文档对象模型(Document Object Model),...
Java DOM4J是一个非常流行的Java库,专门用于处理XML文档。它提供了强大的API来解析、创建、修改XML文档,使得开发者能够高效地处理XML数据。DOM4J这个名字来源于Document Object Model (DOM) 和 Java,而4J则表示它...
Java提供了多种解析XML的API,其中DOM(Document Object Model)和DOM4j是常用的两种方法。本文将详细介绍这两种方式以及如何使用它们进行XML文档的增、删、改查操作。 一、DOM解析 DOM解析器将整个XML文档加载到...
XML解析方法主要有四种:DOM(文档对象模型)、SAX(简单API for XML)、StAX(流式API for XML)以及DOM4J。每种方法都有其特定的优势和适用场景。 1. DOM解析: DOM解析器将整个XML文档加载到内存中,形成一个树...
Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API,使得开发者可以轻松地解析、创建、修改以及操作XML数据。在Java世界中,DOM4J是与DOM(Document Object Model)相媲美的一个选择,但它比...
Java DOM4J库是用于处理XML文档的一个强大的开源框架,它提供了一种灵活且高效的方式来解析、创建和操作XML内容。DOM4J这个名字来源于“Document Object Model”(DOM)和“Java”的组合,它扩展了DOM接口,同时引入...
DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时的强大工具。DOM4J的最大亮点在于其简洁易用的API...