- 浏览: 3364071 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
使用 domj4 API 创建与修改 XML 文档http://www.blogjava.net/tojava/archive/2005/12/20/24862.html
dom4j修改xml文件 http://lengchaotian.iteye.com/blog/1873658
用dom4j修改xml(增加修改节点)http://bjyzxxds.iteye.com/blog/477226
dom4j修改节点属性及写入文件 http://blog.163.com/sir_876/blog/static/1170522320107741950123/
maven:
Dom4j-XPath语法
首先给出一段XML格式文本信息:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
表达式 描述
节点名 选择所有该名称的节点集
/ 选择根节点
// 选择当前节点下的所有节点
. 选择当前节点
.. 选择父节点
@ 选择属性
示例
表达式 描述
bookstore 选择所有bookstore子节点
/bookstore 选择根节点bookstore
bookstore/book 在bookstore的子节点中选择所有名为book的节点
//book 选择xml文档中所有名为book的节点
bookstore//book 选择节点bookstore下的所有名为book为节点
//@lang 选择所有名为lang的属性
断言
在方括号中[],用来更进一步定位选择的元素
表达式 描述
/bookstore/book[1] 选择根元素bookstore的book子元素中的第一个(注意: IE5以上浏览器中第一个元素是0)
/bookstore/book[last()] 选择根元素bookstore的book子元素中的最后一个
/bookstore/book[last()-1] 选择根元素bookstore的book子元素中的最后第二个
/bookstore/book[position()<3] 选择根元素bookstore的book子元素中的前两个
//title[@lang] 选择所有拥有属性lang的titile元素
//title[@lang='eng'] 选择所有属性值lang为eng的title元素
/bookstore/book[price>35.00] 选择根元素bookstore的book子元素中那些拥有price子元素且值大于35的
/bookstore/book[price>35.00]/title 选择根元素bookstore的book子元素中那些拥有price子元素且值大于35的title子元素
选择位置的节点
通配符 描述
* 匹配所有元素
@* 匹配所有属性节点
node() 匹配任何类型的节点
示例
表达式 描述
/bookstore/* 选择根元素bookstore的下的所有子元素
//* 选择文档中所有元素
//title[@*] 选择所有拥有属性的title元素
使用操作符“|”组合选择符合多个path的表达式
xpath读取
dom4j中文乱码
http://blog.sina.com.cn/s/blog_3d25e30f0100cyzi.html
org.dom4j.io.XMLWriter xmlWriter = new org.dom4j.io.XMLWriter(
new FileOutputStream(fileName));
dom4j读写xml文件
http://www.blogjava.net/biiau/archive/2012/08/17/231005.html
写入
格式化代码:
dom4j修改xml文件 http://lengchaotian.iteye.com/blog/1873658
用dom4j修改xml(增加修改节点)http://bjyzxxds.iteye.com/blog/477226
dom4j修改节点属性及写入文件 http://blog.163.com/sir_876/blog/static/1170522320107741950123/
maven:
<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.6</version> </dependency>
Dom4j-XPath语法
首先给出一段XML格式文本信息:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
表达式 描述
节点名 选择所有该名称的节点集
/ 选择根节点
// 选择当前节点下的所有节点
. 选择当前节点
.. 选择父节点
@ 选择属性
示例
表达式 描述
bookstore 选择所有bookstore子节点
/bookstore 选择根节点bookstore
bookstore/book 在bookstore的子节点中选择所有名为book的节点
//book 选择xml文档中所有名为book的节点
bookstore//book 选择节点bookstore下的所有名为book为节点
//@lang 选择所有名为lang的属性
断言
在方括号中[],用来更进一步定位选择的元素
表达式 描述
/bookstore/book[1] 选择根元素bookstore的book子元素中的第一个(注意: IE5以上浏览器中第一个元素是0)
/bookstore/book[last()] 选择根元素bookstore的book子元素中的最后一个
/bookstore/book[last()-1] 选择根元素bookstore的book子元素中的最后第二个
/bookstore/book[position()<3] 选择根元素bookstore的book子元素中的前两个
//title[@lang] 选择所有拥有属性lang的titile元素
//title[@lang='eng'] 选择所有属性值lang为eng的title元素
/bookstore/book[price>35.00] 选择根元素bookstore的book子元素中那些拥有price子元素且值大于35的
/bookstore/book[price>35.00]/title 选择根元素bookstore的book子元素中那些拥有price子元素且值大于35的title子元素
选择位置的节点
通配符 描述
* 匹配所有元素
@* 匹配所有属性节点
node() 匹配任何类型的节点
示例
表达式 描述
/bookstore/* 选择根元素bookstore的下的所有子元素
//* 选择文档中所有元素
//title[@*] 选择所有拥有属性的title元素
使用操作符“|”组合选择符合多个path的表达式
xpath读取
private void getAllNodes(String xml) { try { Document authtmp = DocumentHelper.parseText(xml); List<Element> list = authtmp.selectNodes("//sms/node"); for (int j = 0; j < list.size(); j++) { Element node = (Element) list.get(j); nodeByNodes(node); } } catch (Exception e) { e.printStackTrace(); } } private void nodeByNodes(Element node) { if (node.element("node") != null) { String id = node.attributeValue("id"); String name = node.attributeValue("name"); System.out.print(id + "-------"); System.out.println(name); for (Iterator i = node.elementIterator("node"); i.hasNext();) { Element newNode = (Element) i.next(); nodeByNodes(newNode); } } else { String id = node.attributeValue("id"); String name = node.attributeValue("name"); System.out.print(id + "-------"); System.out.println(name); } }
dom4j中文乱码
http://blog.sina.com.cn/s/blog_3d25e30f0100cyzi.html
org.dom4j.io.XMLWriter xmlWriter = new org.dom4j.io.XMLWriter(
new FileOutputStream(fileName));
dom4j读写xml文件
http://www.blogjava.net/biiau/archive/2012/08/17/231005.html
写入
import java.io.FileWriter; import java.io.IOException; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class DWriter { public static void main(String[] args) { // TODO Auto-generated method stub try { XMLWriter writer = new XMLWriter(new FileWriter("src/author.xml")); Document doc = createDoc(); writer.write(doc); writer.close(); // Pretty print the document to System.out // 设置了打印的格式,将读出到控制台的格式进行美化 OutputFormat format = OutputFormat.createPrettyPrint(); writer = new XMLWriter(System.out, format); writer.write(doc); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Document createDoc() { Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("root"); Element author1 = root.addElement("author").addAttribute("name", "Kree").addAttribute("location", "UK") .addText("Kree Strachan"); Element author2 = root.addElement("author").addAttribute("name", "King") .addAttribute("location", "US").addText("King McWrirter"); return doc; } }
格式化代码:
OutputFormat format = OutputFormat.createPrettyPrint(); writer = new XMLWriter(new FileWriter(filepath), format);
发表评论
-
分布式存储系统GlusterFS安装配置
2016-06-27 14:51 995http://navyaijm.blog.51cto.com/ ... -
分布式查询 presto 入门安装使用
2016-06-24 15:44 2467http://my.oschina.net/chengxiao ... -
跟我学习dubbo
2016-06-17 15:20 1033跟我学习dubbo-目录 http://bluereader. ... -
JavaMelody监控web服务器
2016-06-17 14:20 1146JavaMelody监控web服务器 http://my.os ... -
freemarker使用记录
2016-06-08 16:24 1279freeMarker语法 http://uule.iteye. ... -
freemarker判断是否为空
2016-06-08 16:03 2http://www.oschina.net/code/sni ... -
ehcache 分布式支持
2016-06-05 22:26 1057原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2842原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1496http://my.oschina.net/wjme/blog ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2242http://www.oschina.net/p/uncode ... -
mysql中间件研究(Atlas,cobar,TDDL), 分库分表插件
2016-05-09 14:15 3391http://www.guokr.com/blog/47576 ... -
Fedora安装Redis
2016-05-04 08:56 1379管理工具: centos6.3下安装phpredisadmin ... -
redis-install.sh
2016-05-04 08:56 4#!/bin/bash # From here: http: ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1274集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4734使用Spring-data进行Redis操作 http://z ... -
Shiro集群实现
2016-05-04 08:53 2263apache shiro集群实现(一) session共享 h ... -
spring 注解方式下使用commons-validator 验证表单
2016-05-03 11:08 3038原文: http://www.programgo.com/ar ... -
Apache Lucene 5.x版本 示例
2016-04-28 15:46 1099http://blog.csdn.net/isea533/ar ... -
Hessian 二进制RPC协议整合到SpringMVC
2016-04-27 09:47 1705SpringMVC集成Hessianhttp://blog.c ... -
shiro过滤器过滤属性含义
2016-04-21 13:51 1276http://my.oschina.net/cng1985/b ...
相关推荐
赠送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文档-...
Java XML编程常用的工具包Dom4j的详细用法,API文档、示例。
赠送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的各种用法 读取XML文件,获得document对象.解析XML形式的文本,得到document对象.
介绍DOM4J的主要接口的使用方法,Elementorg.dom4j.Attribute : Attribute接口定义了XML文件的属性 org.dom4j.Branch:Branch为能够包含子节点的节点如XML元素和文档定义了一个公共为 org.dom4j.CDATA : CDATA定义了...
dom4j用法 很实用
dom4J的使用方法ppt.
读取文档中用到的dom4j_例子,包括所有常用用法
本人总结的dom4j使用方法,希望能帮助刚刚接触的朋友。
DOM4J使用起来非常简单。只要你了解基本的XML-DOM模型,就能使用。然而他自己带的指南 只有短短一页(html),不过说的到挺全。国内的中文资料很少。因而俺写这个短小的教程方便大家使用,这篇文章仅谈及基本的用法...
里面有dom4j的相关资料,还有一些dom4j的相关接口、属性和方法,需要的拿去看看吧
Dom4j是java操作xml的一种选择
使用dom4j读取xml四种方法,希望对各位朋友有所帮助
NULL 博文链接:https://wangweiwei358.iteye.com/blog/764548
dom4j-1.6.1的一个工具包,其中也包含了它的使用方法,对于初学者很有用
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
dom4j是一个Java的XML API,同时也是一种解析XML文档的开源软件。
一个解析XML的架包(dom4j-1.6.1.jar),集成到项目中三两行代码搞定xml解析,使用方法实例介绍参考:https://blog.csdn.net/fang410103/article/details/79802343
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen...
使用dom4j对xml文档进行增删改. 查询就不用说了,使用elements(....)/element(...)/attributeValue()/getText()等方法