- 浏览: 558106 次
- 性别:
文章分类
- 全部博客 (337)
- WEB前端@HTML (4)
- WEB前端@CSS (5)
- WEB前端@javascript (31)
- WEB前端@DHTML (8)
- WEB前端@jQuery (3)
- WEB前端@Flex4 (19)
- WEB前端@BootStrap3 (21)
- 数据交换@JSON (1)
- 模板标签@JSTL (1)
- 模板标签@Thymeleaf (1)
- 模板标签@XSL-FO (3)
- WEB后台@JavaSE (75)
- WEB后台@JAX-WS (27)
- WEB后台@HttpClient (0)
- WEB后台@SSO (2)
- 框架@Spring3 (3)
- 框架@spring_MVC (8)
- 框架@Hibernate (26)
- 框架@play framework (18)
- 框架@sl4j (4)
- 数据库@ (2)
- 数据库@JDBC (0)
- 服务器@Linux (14)
- 服务器@Tomcat (2)
- 第三方jar@dom4j (1)
- 第三方jar@POI (2)
- 第三方jar@CXF (5)
- 项目管理@Maven (22)
- 项目管理@SVN (1)
- 缓存管理@ehcache (1)
- 系统设计@设计模式 (10)
- 单元测试@JunitTest (1)
- 开发工具 (3)
- BUG收录 (1)
- 学习之路 (6)
- 面试之道 (1)
- 我的项目 (2)
最新评论
-
superich2008:
logback配置文件的改动会导致应用重新加载,多改动几次后就 ...
Chapter 3: Logback configuration -
chenzhihui:
不是可以在log4j中配置以控制台或者文件方式保存日志的?
play记录日志 -
smilease:
很棒,正缺这个,非常感谢
bootstrap3-typeahead 自动补全 -
guangling13345:
[size=x-small][/size]
二级联动菜单 -
jacksondesign:
有,和YAML的格式有关,不知道有没有什么好的YAML格式的验 ...
(四)play之yabe项目【页面】
books.xml
基于java提供的API使用XPath处理XML
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
基于java提供的API使用XPath处理XML
package com.hqh.stax; import java.io.InputStream; import javax.xml.crypto.NodeSetData; import javax.xml.namespace.QName; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathFactory; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class TestXPath { @Test public void testXPath() { InputStream is = null; try { // 将xml以流才形式进行加载 is = Thread.currentThread().getContextClassLoader() .getResourceAsStream("books.xml"); //构建文檔对象 DocumentBuilder builder = DocumentBuilderFactory.newInstance() .newDocumentBuilder(); // 将xml的输入流解析为一个dom对象 Document doc = builder.parse(is); //創建XPath對象 XPath xpath = XPathFactory.newInstance().newXPath(); //第一個參數:xpath表達式;第二個參數:文檔源;第三個參數:返回類型 NodeList nodeList = (NodeList)xpath.evaluate("//book[@category='WEB']", doc, XPathConstants.NODESET); //輸出屬性為WEB的book所有信息[將輸出該節點下的所有信息] for(int i=0;i<nodeList.getLength();i++) { Node node = nodeList.item(i); System.out.println(node.getTextContent()); } /* 結果: XQuery Kick Start James McGovern Per Bothner Kurt Cagle James Linn Vaidyanathan Nagarajan 2003 49.99 Learning XML Erik T. Ray 2003 39.95*/ //輸出屬性為'WEB'的book的title信息 for(int i=0;i<nodeList.getLength();i++) { Node node = nodeList.item(i); Element element = (Element)node; Node subNode = element.getElementsByTagName("title").item(0); System.out.println(subNode.getTextContent()); } /* 結果: XQuery Kick Start Learning XML*/ } catch (Exception e) { e.printStackTrace(); } finally { } } }
发表评论
-
实际应用-使用xsd定义Model对象
2014-02-27 02:24 1325使用schema定义Model 好 ... -
XJC 将schema转换为java类
2013-08-28 09:55 1864使用xjc(xml java change)将schema转 ... -
Webservice中获取Servlet的相关对象
2013-08-15 17:44 2888第一种方式: 通过注入WebServiceContex ... -
JAX与spring的无缝集成---增加Handler和Exception(二)
2013-08-15 16:00 2009客户端也使用spring集成JAX-WS。但是有一个问题需 ... -
Exception处理:服务端返回对象与客户端类型不一致XXX cannot be cast to XXX
2013-08-15 13:52 2620描述: 服务端向客户端返回数据时,发生类型转 ... -
JAX与spring的无缝集成(一)
2013-08-13 13:45 6630JAX-WS与spring集成有几 ... -
使用契约优先---重要注意事项
2013-08-11 22:23 1019使用契约优先编写schema和wsdl文件时,一般都是在ws ... -
通过HEADER传递信息-做权限控制
2013-08-08 18:11 2032通过HEADER而不是BODY传递“LICENSE” ... -
webservice传递二进制数据(文件)
2013-08-08 16:14 2312将二进制数据放到Attachment中进行传递,而不是放到 ... -
发布webservice到tomcat
2013-08-07 09:39 3055目标: 基于契约优先的webservice功能开发 ... -
基于契约优先的隐式头信息处理
2013-08-03 20:05 1233<?xml version="1.0&qu ... -
基于契约优先来编写webservice
2013-08-03 18:40 1225开发流程: 1.先写schema ... -
通过Handler添加HEADER
2013-08-03 14:05 2054LogicHandler 只能获取SOAPBody的信息 ... -
SOAP异常处理
2013-08-03 14:00 1014接口 package com.hqh.soap; imp ... -
深入SOAP发送消息的过程(SAAJ)
2013-07-28 18:54 2116SOAP结构体 SOAPMessage SOAPPa ... -
使用Transformer更新XML
2013-07-27 14:46 2789package com.hqh.stax; impo ... -
使用XMLStreamWriter写XML
2013-07-27 14:10 4033package com.hqh.stax; im ... -
使用Stax处理XML
2013-07-27 10:57 1289java提供的XML处理 Stax处 ... -
使用JAXB完成XML与java对象的转换
2013-07-27 10:05 2159SAX 处理超大xml时使用 do ... -
XML_Schema
2013-07-22 16:27 1377Schema的好处 schema出现的目的:通过一个更加合理的 ...
相关推荐
在处理大型XML文档时,使用XPath配合Java进行数据提取,可以避免遍历整个DOM结构,从而提高性能。 总结,Java中使用XPath获取XML数据涉及的关键知识点包括: 1. XPath的基本概念和语法。 2. Java的`javax.xml.xpath...
总之,XPath和JDOM结合使用,为Java开发者提供了一种强大而灵活的方式来处理XML数据。理解XPath语法,掌握JDOM的API,将使你在处理XML文档时更加得心应手。在实际项目中,你可以根据需求调整和优化这些基本步骤,...
总之,Java XML XPath 提供了一种强大而灵活的方式来处理XML数据,使得在Java应用程序中检索和操作XML内容变得更加容易。开发者可以根据需要的路径表达式和谓语来精确地定位和操作XML文档中的任何部分。
以下是使用Java的XPath API解析XML文档的一个详细步骤: 1. **创建Document对象**: 首先,我们需要解析XML文件,生成一个`Document`对象。这通常通过`DocumentBuilderFactory`和`DocumentBuilder`完成。以下代码...
Java 通过XPath解析XML是一种常见的数据提取和处理方式,尤其在处理复杂XML文档时,XPath提供了简洁而强大的查询语句。XPath(XML Path Language)允许我们根据元素、属性以及它们之间的关系来定位XML文档中的节点。...
Dom4j是一个灵活且高效的处理XML的Java库,它提供了XML的读写、遍历、修改等功能。与DOM(Document Object Model)相比,Dom4j使用起来更高效,内存占用更小,尤其适合处理大型XML文件。 接下来,我们关注XPath的...
例如,我们可以使用`javax.xml.xpath`包提供的`XPathFactory`、`XPath`和`XPathConstants`类来实现这一过程。 4. **避免生成过多的Bean类** 当XML结构复杂时,通常会为每个元素创建对应的Java Bean类。然而,使用...
Java提供了多种库来支持XPath的使用,如JAXP(Java API for XML Processing)和DOM4J等。 Java中的XPath工作原理是基于XML文档的DOM(Document Object Model)树,通过XPath表达式定位到DOM树上的特定节点。XPath...
Java提供了一个XPath的实现,即javax.xml.xpath包,通过该包可以使用XPath来获取XML文档中的节点。 在获取XML文件中符合特定条件的节点时,需要使用XPath表达式。XPath表达式是一种特殊的字符串,用于描述要获取的...
Java通过JAXP(Java API for XML Processing)提供对XPath的支持,允许开发者高效地定位和操作XML文档。 XPath的语法基于路径表达式,这些表达式可以指向XML文档中的特定节点。例如,`/html/body/p` 是一个路径...
在Java中,我们可以使用javax.xml.xpath.XPath和XPathConstants类来执行XPath查询: ```java import javax.xml.xpath.*; import org.w3c.dom.NodeList; import org.w3c.dom.Node; XPathFactory xPathFactory = ...
在处理XML时,我们通常会使用三种主要的解析方式:DOM(Document Object Model)、SAX(Simple API for XML)和XPath(XML Path Language)。下面将详细介绍这三种解析方法,并结合实例进行讲解。 1. DOM解析: DOM...
Java提供`javax.xml.xpath`包来支持XPath表达式的编译和执行,可以用来定位和修改XML节点。 8. **XML Schema**: Java还提供了处理XML Schema(XSD)的能力,可以验证XML文档是否符合特定的模式。`javax.xml....
Java 处理XML的三种主要技术分别是DOM(Document Object Model)、SAX(Simple API for XML)...总之,Java提供了多样化的XML处理工具,开发者可以根据需求选择合适的解析方式,以实现高效、稳定和灵活的XML数据处理。
- **Java的XPath API**:Java标准库提供`javax.xml.xpath`包,包含`XPath`、`XPathFactory`、`XPathExpression`等类,用于解析和执行XPath表达式。 - **创建XPath对象**:使用`XPathFactory.newInstance()....
Java XML API是Java平台提供的一套用于处理XML文档的接口和类,它使得开发者能够方便地在Java程序中创建、解析、修改XML文档。本文将深入探讨Java XML API中的核心组件,包括SAX(Simple API for XML)、DOM...
在Java中,XPath与Java API for XML Processing(JAXP)一起使用,可以方便地解析和操作XML文档。本Java XPath Demo将向你展示XPath在实际开发中的应用。 首先,你需要了解XPath的基本语法。XPath表达式是由路径...
- **XStream:** 是一个轻量级、易于使用的库,支持将Java对象转换为XML,反之亦然,它提供了更简洁的API和更灵活的XML格式。 3. **DOM4J:** 这是一个非常流行的Java XML库,它扩展了DOM API,提供了一些额外的...
1.可以根据传入的xpath,生成xml,例如:a/b/c : <a><b><c></c></b></a> 2.可以将指定xml字符串添加指定节点 3.xmldocument2String 4.支持属性操作 看到网上几乎没有这样的例子,贡献一下,中国的软件太需要贡献了...