- 浏览: 53132 次
文章分类
最新评论
1. 表达式描述
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
2. 路径组合表达式
组合多个路径表达式,扩大选择范围;例如:
//book/title | //book/price 选取所有 book 元素的 title 和 price 元素。
3. 提取xml文件中节点信息的java代码
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
2. 路径组合表达式
组合多个路径表达式,扩大选择范围;例如:
//book/title | //book/price 选取所有 book 元素的 title 和 price 元素。
3. 提取xml文件中节点信息的java代码
/** * "/"表示绝对路径 <br/> * "/AA" 所有根节点AA<br/> * "/AA/BB" 所有根节点下的所有BB节点<br/> * * "//" 表示相对路径<br/> * "//BBB" 表示所有的名字为BBB的节点<br/> * "//DDD/BBB" 表示所有父节点为DDD的BBB节点<br/> * * "*" 表示选择所有由星号之前的路径所定位的元素<br/> * "/AAA/CCC/DDD/*" 选择所有路径依附于/AAA/CCC/DDD的元素<br/> * "//*" 选择所有元素 * * "/AAA/BBB[1]" 选择AAA的第一个BBB子元素<br/> * "/AAA/BBB[last()]" 选择AAA的最后一个BBB子元素<br/> * * "//@id" 选择所有的id属性<br/> * "//BBB[@id]" 选择有id属性的BBB元素<br/> * "//BBB[@name]" 选择有name属性的BBB元素<br/> * "//BBB[@*]" 选择有任意属性的BBB元素<br/> * "//BBB[not(@*)]" 选择没有属性的BBB元素<br/> * * "//BBB[@id='b1']" 选择含有属性id且其值为'b1'的BBB元素<br/> * "//BBB[@name='bbb']" 选择含有属性name且其值为'bbb'的BBB元素<br/> * "//BBB[normalize-space(@name)='bbb']" * 选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为'bbb'的BBB元素<br/> * * "//*[count(BBB)=2]" 选择含有2个BBB子元素的元素<br/> * "//*[count(*)=2]" 选择含有2个子元素的元素<br/> * "//*[name()='BBB']" 选择所有名称为BBB的元素(这里等价于//BBB)<br/> * "//*[starts-with(name(),'B')]" 选择所有名称以"B"起始的元素<br/> * "//*[contains(name(),'C')]" 选择所有名称包含"C"的元素<br/> * * "//CCC | //BBB" 选择所有的CCC和BBB元素<br/> * "/AAA/EEE | //BBB" 选择所有的BBB元素和所有是AAA的子元素的EEE元素<br/> */ InputSource inputSource = new InputSource(new FileInputStream("test.xml")); XPathFactory factory = XPathFactory.newInstance(); XPath xPath = factory.newXPath(); XPathExpression expression = xPath.compile("//book/title[@lang=\"en\"]"); NodeList list = (NodeList) expression.evaluate(inputSource, XPathConstants.NODESET); for (int i = 0; i < list.getLength(); i++) { Node node = list.item(i); System.out.println(node.getNodeName()); }
发表评论
-
Java IO 读文件的各种方法总结
2016-01-01 15:00 698IO分为字节流和字符流,字符就是简单的字符串存储,从理伦上讲, ... -
动态代理的应用
2015-12-22 17:30 733代理模式作为开发人员 ... -
Java Restful
2015-12-19 14:01 440对于两个系统之间交互信息,有两种常见的方式:webservic ... -
request.getInputStream() 只能读一次的解决方法
2015-12-17 12:17 2380我们知道request.getInputStream()只能读 ... -
java Hessian 版本冲突问题解决方法
2015-12-11 19:44 884今天在实际的项目发现了一个问题就是hessian的版本不兼容的 ... -
ThreadPoolExecutor参数讲解
2015-12-10 08:14 8181. 线程池可以节省创建多个线程带来的开销问题。 2. 线程 ... -
Java RSA 加密 解密 签名 验签
2015-12-09 10:01 61511. 加密的作用 1)明文变密文(你不知道密钥是很难解密的) ... -
Java Xstream xml 与bean之间的转换
2015-12-09 08:31 748xml文件如下: <mvc> & ... -
Java Dom4j 解析XML
2015-12-09 08:23 366Dom4j和JDom是很相似的,用起来十分方便。 XML文件 ... -
Java JDom 解析xml
2015-12-09 08:22 420JDOM在解析XML在代码量之上比之前的方法(DOM和SAX要 ... -
Java SAX 解析xml
2015-12-08 18:13 424在上一篇中http://gaofulai1988.iteye. ... -
Java XML解析系列
2015-12-08 18:00 766Java解析XML有多种方式,因此需要分为几个不同的系列来讲。 ... -
Java 背包算法计算从数组中找若干个数使其最接近某个数
2015-12-08 17:38 1992背包的算法的动态方式如下: f(i,w) = max{ f(i ... -
C3P0 连接分析
2015-12-01 19:05 896最近在看C3P0的原理,还是将C3P0的源码导入到Ecplis ... -
微信开发的原理
2015-11-30 10:10 1319微信在现在的生活中,扮演着举足轻重的角色,现在怎么东西都在微信 ... -
JAVA Timestamp 与Data的转化以及BigDecimal 保留两位小数
2015-11-27 14:47 17131. BigDecimal 保留两位小数 今天在项目中遇到这 ... -
java try catch finally return 继续
2015-11-27 13:45 404之前在博客中有一篇文章讨论过异常中return值的情况,有兴趣 ... -
Java JDBC executeBatch 批量操作
2015-11-27 08:05 1634对JDBC 的 CRUD操作,我相信对于每个开发人员来讲,是十 ... -
Java WeakHashMap 分析
2015-11-26 08:17 625昨天在我们的系统中看 ... -
加密与解密
2015-11-18 18:12 482我本身不是学密码出身的,但在工作中经常要使用加密与解密的东东, ...
相关推荐
以上就是DOM、SAX和XPath解析XML的基本知识和实例应用。通过这些技术,开发者可以根据实际需求选择最适合的方式来处理XML文档。在实际项目中,这三种解析方法都有其适用场景,理解它们的工作原理和优缺点,将有助于...
本篇文章将深入探讨如何使用Dom4j,一个流行的Java库,结合XPath来解析XML文件中的路径表达式,同时阐述相对路径和绝对路径的匹配原则。 首先,我们要了解Dom4j库。Dom4j是一个灵活且高效的处理XML的Java库,它提供...
在本篇文章中,我们将深入探讨如何利用XPath来解析XML文件,并且会提及如何通过XPath操作Map集合,从而避免过多地生成Java Bean类。 首先,理解XML文档的结构至关重要。XML是一种标记语言,用于存储数据,其结构...
之前找了好多感觉和自己的需求不太一样,这个可以根据Xpath解析出来xml里所有的信息,十分好用 举个例子 xmlPath = "E://upload/xml/1580242.163.xml"; XPathUtil util = XPathUtil.newInstance(xmlPath); Product ...
总结一下,JavaScript中使用XPath解析XML元素的关键知识点包括: 1. XPath是用于在XML文档中查找信息的语言,它基于路径表达式。 2. `selectNodes()`和`selectSingleNode()`方法在IE中用于选取XML节点,但不是标准...
NULL 博文链接:https://bbsanwei.iteye.com/blog/266394
XPath是一种在XML文档中查找信息的语言,它是XML处理中的重要工具。XML(eXtensible Markup Language)是一种标记语言,常用于数据交换和存储。CSV(Comma Separated Values)文件则是一种简单、通用的数据格式,...
因此,无论是XML解析还是MyBatis的使用,XPath都是一个不可或缺的知识点,对于初学者来说,掌握XPath的入门知识是迈入这个领域的第一步。通过实际的练习和项目实践,可以进一步提升对XPath和MyBatis的运用能力。
本篇文章将深入探讨Dem4j库如何结合XPath来解析XML文档,以及XPath中的相对路径和绝对路径的匹配原则。 首先,让我们了解Dem4j。Dom4j是一个Java库,提供了强大的XML处理功能,包括读取、写入、修改和遍历XML文档。...
在Java编程中,解析XML文档通常需要借助库,如DOM4J和XPath。DOM4J是一个灵活且功能强大的开源Java XML API,它提供了XML的读取、写入、修改和遍历等功能。XPath则是W3C标准中的一个查询语言,用于在XML文档中查找...
本教程将重点讨论如何使用Java库Demo4j与XPath一起工作,以解析XML文件中的路径表达式。 首先,我们需要理解XPath的基本概念。XPath使用路径表达式来选取XML文档中的节点,这些路径表达式类似于文件系统中的路径。...
与上一个版本一起使用可以可以起到提高效率的目的。本人解析xml的真实文档
Java 通过XPath解析XML是一种常见的数据提取和处理方式,尤其在处理复杂XML文档时,XPath提供了简洁而强大的查询语句。XPath(XML Path Language)允许我们根据元素、属性以及它们之间的关系来定位XML文档中的节点。...
纯C语言解析xml字符串,有实例,保证可用,含makefile xmlparse.c xmlparse.h testxml.c 目录:/export/home/chcard/testxml 日志:/export/home/chcard/log testxml.c 是一个测试用例,包含了常用的方法,并有注解 ...
XPath(XML Path Language)是一种在XML文档...`XPathGetResultAction.java`和`zxccp-das-dfs-emf.xml`这两个文件的结合,为我们提供了一个实际应用XPath解析XML的实例,可以帮助我们更好地学习和掌握XPath的相关知识。
本篇文章主要介绍在PHP中使用Xpath来解析XML的方法,并通过实例详细分析Xpath语法以及使用Xpath解析XML文档的操作步骤和相关实现技巧。 首先,我们来了解什么是Xpath。Xpath是一种语言,用于在XML文档中进行导航,...
在Java中,XPath被用来解析XML文档,查找和操作XML中的特定节点。XPath基于XML文档的树形结构,允许我们通过简洁的表达式定位到树中的任何节点,包括元素、属性、文本等。以下是使用Java的XPath API解析XML文档的一...
更新XML文件通常涉及DOM(Document Object Model)解析,将XML文件加载到内存中形成一个可操作的树形结构。例如,使用Python的`lxml`库: ```python from lxml import etree # 加载XML tree = etree.parse('...