`
thrillerzw
  • 浏览: 143846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dom4j相关

 
阅读更多

 dom4j解析xml
一:
SAXReader reader = new SAXReader();


InputStream is = new BufferedInputStream(new FileInputStream(xx.xml));

/*Document doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)); */
//getResourceAsStream返回读取指定资源的输入流。


Document document = reader.read(is);
Element element = document.getRootElement();
List<Element> elements = element.elements("Resource");
for(Element e : elements){e.attributeValue("driverClassName")}

 

 

 底层的解析器主要有两种: DOM、SAX。 其中DOM作为树型结构将文本装载到内存中,适合文本内容比较小的;SAX则按照流的方式扫描,事件触发的方式供你处理,比如遇到某个结点的开始符,结束符,大文本不能一次性装载到内存中,就应该采用SAX方式。

 

SAX:只能读,不能修改,只能顺序访问,适合对大型的XML的解析,解析速度快!
DOM:不仅能读,还能修改,而且能够实现随机访问,缺点是解析速度慢,只适合解析小型文档

Sax解析  http://sinye.iteye.com/blog/763895

Dom解析 http://sinye.iteye.com/blog/763926

sax与dom区别:http://blog.csdn.net/sweetsnow24/article/details/7447110

 

二 namespace问题

                        Map map = new HashMap();
			map.put("ns", "http://WebXml.com.cn/");
			SAXReader saxReader = new SAXReader();
			saxReader.getDocumentFactory().setXPathNamespaceURIs(map);

			document = saxReader.read(TestXml.class.getClassLoader()
					.getResourceAsStream(xml));
			Node root = document.getRootElement();

			List<Element> elements = root
					.selectNodes("/getWeatherbyCityNameResponse/ns:getWeatherbyCityNameResult/ns:string");
			System.out.println(elements.size()+" "+elements);

 

                        
                        Document document = DocumentHelper.parseText(xml);
			Map map = new HashMap();
			// ns自己定义
			map.put("ns", "http://WebXml.com.cn/");
			// 根元素不是必须带ns: 或者 相对查找 ns:getWeatherbyCityNameResult/ns:string 或者
			// //ns:string
			XPath x = document
					.createXPath("/getWeatherbyCityNameResponse/ns:getWeatherbyCityNameResult/ns:string");
			x.setNamespaceURIs(map);
			List<Element> nodelist = x.selectNodes(document);

			for (Element e : nodelist) {
				list.add(e.getText());
			}

 

分享到:
评论

相关推荐

    dom4j相关包,资源

    综上所述,DOM4J是一个全面的XML处理工具,适用于各种XML相关的开发需求。无论你是新手还是经验丰富的开发者,理解和掌握DOM4J的基本概念和使用方法都能显著提升XML处理效率。通过提供的`dom4j-1.6.1`包,你可以深入...

    dom4j相关jar包

    DOM4J是一个强大的Java库,专门用于处理XML文档。...在Java开发中,尤其是处理XML相关任务时,DOM4J是一个不可或缺的工具。结合Jaxen,其XPath支持进一步增强了DOM4J的功能,使得XML操作更为便捷。

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

    在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...

    dom4j_dom4j1.6.1安装包_

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、查询和修改变得更为简单。在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J...

    dom4j dom4j dom4j dom4j

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单易行。在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理...

    dom4j-1.6.1 与 dom4j-2.0.0-ALPHA

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、修改和查询变得简单。这次我们有两个版本的DOM4J库:1.6.1和2.0.0-ALPHA。这两个版本在功能、性能和API设计上都有所...

    dom4j_1.6.1.jar dom4j_2.1.0.jar

    这个列表只包含了一个条目"xml",可能意味着压缩包中包含的是与XML相关的文件或资源,可能是XML示例文件、测试用例或者与DOM4J处理XML相关的配置文件。 总结来说,DOM4J是一个强大的XML处理库,提供了丰富的API和...

    dom4j学习资料_dom4j-1.6.1-API.chm

    `dom4j-1.6.1.jar`是DOM4J库的可执行文件,包含了所有DOM4J相关的类和方法。开发者在项目中引入这个JAR文件,就能在代码中使用DOM4J的功能,进行XML处理。 `dom4j-1.6.1-API.chm`是DOM4J API的帮助文件,通常包含了...

    dom4j dom4j1.6 dom4j最新版

    通过理解并熟练使用DOM4J,开发者可以更高效地处理XML相关的任务,提高代码的可维护性和可读性。同时,由于其开源和社区活跃,DOM4J还拥有丰富的文档和社区支持,遇到问题时可以方便地找到解决方案。

    dom4j-2.1.3.zip

    另一份重要的资源是"dom4j-2.1.3-sources.jar",它提供了DOM4J库的源代码,允许开发者深入研究DOM4J的内部实现,对于理解DOM4J的工作原理、进行扩展或者调试都是不可或缺的。通过阅读源代码,开发者可以学习到如何...

    dom4j-2.0.3.zip

    了解并掌握DOM4J,对于提升XML相关项目的开发效率至关重要。通过阅读DOM4J的API文档(如`dom4j-2.0.3-javadoc.jar`),结合源码学习(`dom4j-2.0.3-sources.jar`),可以深入理解其实现原理并更好地利用它来解决实际...

    dom4j所依赖的所有jar包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的API,使得开发者...通过结合`dom4j-1.6.1.jar`和`jaxen-1.1-beta-6.jar`这两个jar包,开发者可以充分利用DOM4J的功能来实现各种XML相关的任务。

    所有版本的dom4j工具包

    标题提到的"所有版本的dom4j工具包"表明这是一个包含多版本DOM4J库的集合,可能包括了从早期到较新的一些版本,如dom4j-1.4.jar、dom4j-1.6.1.jar和dom4j-1.5.2.jar。这些不同版本的库可能分别对应于不同的功能特性...

    dom4j需要的包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于...在实际开发中,熟练掌握DOM4J能极大地提升XML相关任务的开发效率。

    dom4j-2.1.1-API文档-中英对照版.zip

    赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...

    JavaEE源代码 dom4j-1.6.1

    JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源...

    org.dom4j.jar

    当我们遇到“java.lang.ClassNotFoundException: org.dom4j.DocumentException”的错误提示时,这通常意味着系统中缺少了DOM4j库,只需将“org.dom4j.jar”添加到项目类路径中即可解决此问题。 DOM4J是基于DOM和SAX...

    dom4j-2.1.1-API文档-中文版.zip

    赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...

    DOM4J帮助文档及使用教程

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得在Java应用程序中解析、创建、修改和操作XML文档变得容易。DOM4J因其易用性和丰富的功能集,在Java社区中广受欢迎,尤其在处理大型...

    dom4j 2.1.1

    DOM4J 2.1.1 是一个针对Java平台的高效、开源的XML处理库,其全称为“Document Object Model for Java”。这个库提供了一系列强大的API,使得开发人员能够轻松地解析、创建、修改和操作XML文档。XML(eXtensible ...

Global site tag (gtag.js) - Google Analytics