- 浏览: 1333996 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kay11:
...
JAVA生成简单的随机字符串(a-zA-Z0-9) -
zhangliguoaccp:
您好关于登录页面的验验证码这块怎么解决的?还有登录成功后,跳转 ...
JAVA,模拟HTTP登录 -
107x:
不错,谢谢!
<c:foreach 循环 map -
wenjin:
不知楼主是不还在想请叫一下我自己开的Tomcat下载一个文件C ...
Android 下载文件及写入SD卡 -
zyywgf:
JSTL c标签,fn标签,fmt标签
package com.xpath.test;
import java.io.File; import java.io.IOException;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;
/** * @description 使用JDOM包中的XPath解析xml文件 * @author Zhou-Jingxian * */ public class XPathSample { public static void main(String[] args) { try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
File file = new File(XPathSample.class.getResource("Book.xml").getFile()); //"D:/J2EE/studyspace_6.0/XPathSample/books.xml" Document doc = (Document) builder.parse(file);
XPathFactory xFactory = XPathFactory.newInstance();
XPath xpath = xFactory.newXPath();
String booknames = xpath.evaluate("/books/book[2]/name", doc); System.out.println(booknames); String expression = ""; // expression = "//book[name='Thinking in Java']"; expression = "//book"; XPathExpression expr = xpath.compile(expression);
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); System.out.println(node.getBaseURI() + "--" + node.getLocalName() + "--" + node.getNamespaceURI() + "--" + node.getNodeName() + "--" + node.getNodeType() + "--" + node.getPrefix() + "--" + node.getTextContent() + "--" + node.getAttributes() + "--" + node.getOwnerDocument() + "--" + node.getParentNode() + "--" + nodes.item(i).getNodeValue()); } } catch (XPathExpressionException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
} }
Book.xml和XPathSample同目录
<?xml version="1.0" encoding="UTF-8"?> <books> <book> <name>Java Core II</name> <price>119.00RMB</price> </book> <book> <name>Effective Java</name> <price>52.00RMB</price> </book> <book> <name>Thinking in Java</name> <price>108.00RMB</price> </book> </books>
在 http://www.jdom.org/可以下载JDOM的最新版本,将压缩包中的jdom.jar及lib目录下的全部jar包加入到classpath就可以了。 (附件上传了一个1.1.1的jdom包)
更多XPath讲解请看http://www.ibm.com/developerworks/cn/xml/x-jdom/
- jdom.jar (149.2 KB)
- 下载次数: 49
评论
2 楼
zjx2388
2011-08-24
多谢TenAclock提醒,是写反位置了
1 楼
TenAclock
2011-08-16
首先感谢楼主的分享,赫赫,我也是刚学习这个Xpath ,
你提供的xml文件好像有一点的问题应该是第一行写错位置了吧
<pre name="code" class="Book.xml"><?xml version="1.0" encoding="UTF-8"?>
是应该
更符合标准一些的。
你提供的xml文件好像有一点的问题应该是第一行写错位置了吧
引用
<pre name="code" class="Book.xml"><?xml version="1.0" encoding="UTF-8"?>
是应该
<?xml version="1.0" encoding="UTF-8"?> <pre name="code" class="Book.xml">
更符合标准一些的。
发表评论
-
Spring 和JFreeChart 用出现Unable to validate using XSD
2012-08-09 17:31 1781错误显示: 信息: XML validation disab ... -
web.xml不认<taglib>解决办法:
2012-07-11 15:24 967在web.xml不认<taglib>解决办法: ... -
Portal服务器,Portlet容器,Portlet 的区别
2011-08-24 17:06 1649这里所说的Portal是指JCP-JSR168规范所描述的 ... -
AMF,RTMP,RTMPT,RTMPS(转)
2011-04-28 13:10 19301. AMF AMF(是Action Message F ... -
web.xml 中的listener,filter,servlet 加载顺序
2011-04-22 13:35 1105首先,加载顺序与它们 ... -
JDOM修改XML中指定节点的内容
2011-03-21 09:45 2192UpdateXML 写道 package com.util; ... -
SSH配置多个数据源
2011-01-18 16:35 9893SSH配置多个数据源 1. 编写hibernate的数据库配 ... -
SSH中调用存储过程
2010-12-29 08:46 5576SSH中调用带返回结果集的存储过程: public clas ... -
HibernateDaoSupport与JdbcDaoSupport总结
2010-12-28 13:56 1356Spring框架中Dao支持总结:Dao 的支持类可以有 ... -
DBCP,CP30及proxool连接池在spring+hibernate中的配置
2010-12-22 17:08 5928用spring默认的连接池性能效率不高, 如果数据库重启, 应 ... -
IP过滤DEMO
2010-11-01 15:59 1268import java.io.IOException; im ... -
FCKEditor Demo
2010-11-01 15:56 1999FCKEditor 的官方下载: http://source ... -
htmlunit带框架的简单处理测试demo
2010-07-07 14:58 3746package com.htmlunit.test; i ... -
模式在SSH中的简单举例
2010-05-17 14:37 1105闲着没事,瞎想,回想了几个简单的模式在SSH的应用。有不对的还 ... -
AspectJ入门 安装及简单使用
2010-05-15 19:20 7107一、下载安装 1. download http: ... -
org.apache.commons.lang.RandomStringUtils
2010-05-05 09:01 2022来自包:apache的commons-lang.jar包下载: ... -
spring字符集过滤器配置
2010-05-04 14:53 2635<!-- spring的字符集过滤器 --> ... -
Cannot instantiate abstract class or interface
2010-05-03 22:49 3968org.hibernate.InstantiationExce ... -
org.hibernate.hql.ast.QuerySyntaxException: ? is not mapped
2010-05-03 21:52 41402010-5-3 21:48:23 org.apache.ca ... -
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
2010-05-03 21:32 4203MyEclipse 开发 SSH 整合时 java.la ...
相关推荐
本篇文章将深入探讨如何使用Dom4j,一个流行的Java库,结合XPath来解析XML文件中的路径表达式,同时阐述相对路径和绝对路径的匹配原则。 首先,我们要了解Dom4j库。Dom4j是一个灵活且高效的处理XML的Java库,它提供...
之前找了好多感觉和自己的需求不太一样,这个可以根据Xpath解析出来xml里所有的信息,十分好用 举个例子 xmlPath = "E://upload/xml/1580242.163.xml"; XPathUtil util = XPathUtil.newInstance(xmlPath); Product ...
`DOMTEST`可能是测试DOM操作的示例文件,可能包含了各种元素结构,用于演示如何使用Xpath进行查询和更新。在实际应用中,这样的文件通常包含一些XML结构,以便开发者可以编写代码进行查询和修改测试。 总结来说,...
在"tests2csv"这个例子中,很可能是一个测试项目,包含了一些XML文件,目标是将这些XML文件中的数据用XPath选取出来并转化为CSV格式。这可能涉及到多个XML文件的处理,以及对不同XML结构的理解和适配。 总结一下,...
在本篇文章中,我们将深入探讨如何利用XPath来解析XML文件,并且会提及如何通过XPath操作Map集合,从而避免过多地生成Java Bean类。 首先,理解XML文档的结构至关重要。XML是一种标记语言,用于存储数据,其结构...
总结一下,JavaScript中使用XPath解析XML元素的关键知识点包括: 1. XPath是用于在XML文档中查找信息的语言,它基于路径表达式。 2. `selectNodes()`和`selectSingleNode()`方法在IE中用于选取XML节点,但不是标准...
本文将深入探讨如何解析XML文件并利用XPath(XML Path Language)选取特定节点,以及可能涉及到的相关工具和源码分析。 一、XML基本概念 XML是一种自描述性的文本格式,它通过标签来描述数据的结构和内容。与HTML...
2. **读取XML文件**:使用`SAXBuilder`类解析XML文件,创建一个`Document`对象,这是JDOM中的XML文档模型。 ```java File xmlFile = new File("path_to_your_xml_file"); SAXBuilder builder = new SAXBuilder(); ...
下面是一个使用SAXBuilder解析XML文件的示例: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public class JdomExample { public static void main(String[] args) { try { ...
在Java编程中,解析XML文档通常需要借助库,如DOM4J和XPath。DOM4J是一个灵活且功能强大的开源Java XML API,它提供了XML的读取、写入、修改和遍历等功能。XPath则是W3C标准中的一个查询语言,用于在XML文档中查找...
在Java中,XPath被用来解析XML文档,查找和操作XML中的特定节点。XPath基于XML文档的树形结构,允许我们通过简洁的表达式定位到树中的任何节点,包括元素、属性、文本等。以下是使用Java的XPath API解析XML文档的一...
在这个例子中,我们首先创建一个`DocumentBuilder`实例,然后解析XML文件到`Document`对象。接着,通过`XPathFactory`和`XPath`接口,我们可以编译XPath表达式并执行它。`evaluate()`方法返回的结果可以是节点集、...
本示例"pb解析xml文件示例.rar"提供了一个使用PowerBuilder解析XML文件的实践案例,这对于开发人员在处理XML数据时极具参考价值。 首先,我们要理解XML的基本结构。XML文件由元素(Element)、属性(Attribute)、...
在这个主题中,我们将深入探讨如何在C和C++中使用XPath来解析XML文件。 首先,让我们了解C++中处理XML文件的基本步骤。C++中常用的库有TinyXML和pugixml,这两个库都提供了解析XML文档的功能。在提供的文件`get_...
本示例提供了三种不同的方法来解析XML文件,并结合了数据库连接,特别是使用Oracle数据库。下面将详细介绍DOM、SAX和DOM4J这三种解析器的工作原理以及如何在Java中实现它们。 1. DOM(文档对象模型)解析: DOM是一...
同时,它的解析算法经过优化,能快速地解析XML文档,即使面对大型XML文件也能保持良好的性能。 **源代码结构** 在提供的压缩包中,我们可以看到以下几个主要部分: 1. **Makefile** - 用于构建项目的配置文件,...
在本案例中,我们讨论的是一个使用C#编写的XPath解析工具,该工具能够帮助开发者更方便地操作XML文档,提取所需的数据。 XPath工具的主要功能可能包括以下几点: 1. **节点选取**:XPath表达式可以用来选择XML文档...
这个例子展示了如何在PowerBuilder 12.5中解析XML文件,特别是获取指定路径下的节点内容和属性值。XML(Extensible Markup Language)是一种用于存储和传输数据的标准化格式,广泛应用于数据交换、配置文件等场景。 ...
本示例将深入探讨如何使用SQL语言解析XML数据,这在处理包含复杂结构信息的数据时非常有用。我们将通过分析`Test01.sql`脚本和参考`a.xml`文件来展示这些操作。 首先,让我们了解XML数据类型。SQL Server 2005及更...