- 浏览: 1884765 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (514)
- OPEN (41)
- WARN (33)
- EXPER (16)
- RESOURCE (7)
- TOOL (4)
- DWR (10)
- Struts1.x (10)
- Ibtais (18)
- MyEclipse (30)
- Sql Server (64)
- Tomcat (7)
- APACHE (4)
- JSP (18)
- SERVLET (6)
- ENGLISH (0)
- ECSide (8)
- JasperReports (7)
- JAVA (24)
- JS (42)
- XML (26)
- CVS (8)
- Mind (1)
- JQUERY (2)
- IBATIS (6)
- PROJECT (0)
- STRUTS2 (0)
- PROXOOL (0)
- SPRING (4)
- Hibernate (0)
- SSI (0)
- JBPM (11)
- FLEX (3)
- JSON (2)
- GWT (1)
- jeecms v3 (1)
- Flash (2)
- DATA (1)
- ORACLE (3)
- 查询oracle 中逗号分隔字符串中所有值 (1)
最新评论
-
小小西芹菜:
GoEasy web三步轻松实现web实时推送1. 引入goe ...
服务器推送技术 java -
kg_1997:
这个方法太棒了,可以不用to_date函数,实在是棒!!!
java/oracle日期处理 -
wodesunday:
:idea:
SQL的分段统计查询语句 -
wodesunday:
引用
SQL的分段统计查询语句 -
BlueSkator:
讲的有点浅,没有深入进去
tomcat需要的重新发布和重启服务器的几种情况
在用jdom来解析xml文档的时候,我们常常需要快速定位到某一个节点进行读取或修改操作。定位节点,这正是xpath表达式发挥作用的地方。从beta 9(www.jdom.org有下载)开始,jdom开始支持解析xpath路径表达式了,这样我们在用jdom来解析xml文档的时候,方便多了。请看例子
1.示例用xml文件,kk.xml
<?xml version = "1.0" encoding="GB2312" ?>
<联系人列表>
<联系人>
<姓名>张三</姓名>
<ID>001</ID>
<公司>A公司</公司>
<EMAIL>zhang@aaa.com</EMAIL>
<电话 类型="公司">(010)62345678</电话>
<电话 类型="家庭">(010)88888888</电话>
<地址>
<街道>五街1234号</街道>
<城市>北京市</城市>
<省份>北京</省份>
</地址>
</联系人>
<联系人>
<姓名>李四</姓名>
<ID>002</ID>
<公司>B公司</公司>
<EMAIL>li@bbb.org</EMAIL>
<电话 类型="公司">(021)87654321</电话>
<地址>
<街道>南京路9876号</街道>
<城市>上海</城市>
<省份>上海</省份>
</地址>
</联系人>
</联系人列表>
2.为了找到张三的家庭的电话号码,使用下列代码段
package test;
import java.util.List;
import java.net.URL;
import org.jdom.*;
import org.jdom.xpath.*;
import org.jdom.input.*;
import java.io.*;
import java.util.*;
public class Test{
public static void main(String[] args) throws Exception{
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build("kk.xml");
Element root = doc.getRootElement();
XPath xpath = XPath.newInstance("//电话[../姓名='张三'][@类型='家庭']");
List list = xpath.selectNodes(root);
Iterator iter = list.iterator();
while (iter.hasNext()) {
Element item = (Element) iter.next();
System.err.println(item.getText());
}
}
输出结果正是我们想要的:(010)88888888.怎么样,很方便吧:)。
8过呢,我这个表达式效率不一定就是最高的,你对xpath掌握得越好,查询效率越好。
1.示例用xml文件,kk.xml
<?xml version = "1.0" encoding="GB2312" ?>
<联系人列表>
<联系人>
<姓名>张三</姓名>
<ID>001</ID>
<公司>A公司</公司>
<EMAIL>zhang@aaa.com</EMAIL>
<电话 类型="公司">(010)62345678</电话>
<电话 类型="家庭">(010)88888888</电话>
<地址>
<街道>五街1234号</街道>
<城市>北京市</城市>
<省份>北京</省份>
</地址>
</联系人>
<联系人>
<姓名>李四</姓名>
<ID>002</ID>
<公司>B公司</公司>
<EMAIL>li@bbb.org</EMAIL>
<电话 类型="公司">(021)87654321</电话>
<地址>
<街道>南京路9876号</街道>
<城市>上海</城市>
<省份>上海</省份>
</地址>
</联系人>
</联系人列表>
2.为了找到张三的家庭的电话号码,使用下列代码段
package test;
import java.util.List;
import java.net.URL;
import org.jdom.*;
import org.jdom.xpath.*;
import org.jdom.input.*;
import java.io.*;
import java.util.*;
public class Test{
public static void main(String[] args) throws Exception{
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build("kk.xml");
Element root = doc.getRootElement();
XPath xpath = XPath.newInstance("//电话[../姓名='张三'][@类型='家庭']");
List list = xpath.selectNodes(root);
Iterator iter = list.iterator();
while (iter.hasNext()) {
Element item = (Element) iter.next();
System.err.println(item.getText());
}
}
输出结果正是我们想要的:(010)88888888.怎么样,很方便吧:)。
8过呢,我这个表达式效率不一定就是最高的,你对xpath掌握得越好,查询效率越好。
发表评论
-
XSTL接触
2011-04-27 15:39 2835XSTL接触 07月 11th, 2006 by 城市刀客 ... -
unknown protocol: c 解决方法,致命错误:“无法编译样式表”
2010-11-26 10:03 4711在使用XSLTransformer解析xml样式表,出现 u ... -
模板存储和解析。
2010-11-16 16:41 1211表单建模或者权限页面显示原理基本使用模板存储和解析 采用XML ... -
xml To html
2010-10-11 15:34 1207import java.io.*; import java.u ... -
(四)XPath 实例
2010-10-11 14:10 1374XPath 实例 Previous Page Next Pag ... -
(三)XPath Axes(坐标轴)
2010-10-11 13:53 1144XML 实例文档 我们将在 ... -
(二)XPath 语法
2010-10-11 13:41 923XPath 使用路径表达式来选取 XML 文档中的节点或节点集 ... -
XPath 术语(一)
2010-10-11 13:40 970XPath 术语 节点(Node) ... -
XSLT中用normalize-space函数来清除元素的前后空格
2010-10-11 13:30 1905XSLT中用normalize-space函数来清除元素的前后 ... -
java编写xsl转换器(xslt)把xml文件转换为html文件2
2010-10-11 10:41 1624//Prints formatted representati ... -
xsl:attribute
2010-10-11 09:26 2773xsl:attribute 创建一个属性节点和追加节点到输出节 ... -
XSLT - 客户端
2010-10-11 09:14 883如果您的浏览器支持 XSLT,那么在浏览器中它可被用来将文档转 ... -
XSLT <xsl:apply-templates> 元素
2010-10-11 09:10 1285<xsl:apply-templates> 元素可 ... -
XSLT <xsl:choose> 元素
2010-10-11 09:05 1212XSLT <xsl:choose> 元素 Prev ... -
XSLT <xsl:if> 元素
2010-10-11 09:04 1247XSLT <xsl:if> 元素 Prev ... -
XSLT <xsl:sort> 元素
2010-10-11 09:02 1763XSLT <xsl:sort> 元素 Previo ... -
XSLT <xsl:for-each> 元素
2010-10-11 09:02 1579XSLT <xsl:for-each> 元素 Pr ... -
XSLT <xsl:value-of> 元素
2010-10-11 09:01 1166XSLT <xsl:value-of> 元素 Pr ... -
XSLT 元素 (一)
2010-10-08 15:09 1000XSLT 元素 XSL 样式表由 ... -
java编写xsl转换器(xslt)把xml文件转换为html文件
2010-10-08 14:32 4514package xslt; import java.io ...
相关推荐
在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath表达式来读取XML文档的节点。 首先,理解XPath的基本语法是非常重要的。XPath表达式由路径表达式组成,...
XPath在JDOM中的作用是通过表达式来查找XML文档中的特定节点。XPath表达式是一个字符串,可以用来选择XML文档中的元素、属性、文本节点等。JDOM提供了`XPath`类,该类允许我们编译和执行XPath表达式。 1. `XPath....
本主题将深入探讨如何使用Java中的JDOM库来实现XPath解析,从而高效地提取XML数据。 JDOM是一个纯Java的XML处理库,它提供了一种简单的方式来构建、修改和读取XML文档。与DOM(Document Object Model)相比,JDOM...
使用JDOM,我们可以通过API操作这些节点来实现对XML的解析和操作。 要读取XML文件,首先需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom ...
- 支持XPath查询,便于快速定位文档中的特定节点。 - 支持XSLT转换,可以将XML文档转换为其他格式的文档。 #### 六、总结 JDOM是一种简单而有效的XML处理工具,适用于需要快速处理XML文档的应用场景。通过上述分析...
总结来说,"XML解析,简单易学(Jdom+XPath): 精简Demo(含jar包).rar"这个压缩包提供了使用JDOM2和XPath处理XML的实例,适合初学者快速上手,同时也可作为进阶开发者参考的代码示例。通过这个示例,你可以学习到...
使用 JDOM 库解析 XML 文件是一种简单易用的方式,能够快速地解析和处理 XML 文件,并且提供了高效的解析性能。 JDOM 库的应用场景 JDOM 库广泛应用于各种 Java 项目中,例如: * XML 配置文件解析 * 数据交换和 ...
在描述中的代码片段`doc.selectNodes("/ACCESOS/item/SOCIO")`,`doc`代表了整个XML文档的根节点,`selectNodes`是DOM4J库提供的方法,它使用XPath表达式来选取文档中匹配的节点。这里的XPath路径`/ACCESOS/item/...
而XPath则作为查询工具,用于在JDOM构建的XML文档结构中快速定位到特定的节点。 首先,我们需要了解JDOM的基本用法。JDOM的使用通常分为三个步骤:构建模型、查询模型和修改模型。构建模型时,我们通过`SAXBuilder`...
本示例“jdom-test-1.1.zip”提供了使用JDOM库操作XML的详细教程。 JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于读写XML文档。它提供了一个直观的、基于树的API,使得开发者能够轻松地...
此外,JDOM还支持XML Schema和DTD验证,以及XPath表达式来定位XML文档中的特定节点。 然而,JDOM并非没有缺点。它的内存消耗相对较高,因为它会将整个XML文档加载到内存中,这在处理大型XML文件时可能会成为一个...
本文将深入探讨如何使用JDOM库来生成XML文档,这是一种纯Java的API,设计用于简化XML处理。 JDOM是一个开源项目,它的全称是Java Document Object Model,它为Java程序员提供了一个方便的方式来创建和操作XML文档。...
- **优化策略**:如果确实需要处理大型XML文件,可以使用JDOM的SAXBuilder,它允许以SAX方式读取XML,但仍然使用JDOM API进行操作。 6. **示例代码** ```java import org.jdom2.Document; import org.jdom2....
在实际应用中,JDOM可以结合XPath(通过jaxen.jar实现)来快速定位XML文档中的特定节点,提高开发效率。例如,通过`XPathFactory`创建`XPath`对象,然后调用`compile()`方法编译XPath表达式,最后使用`evaluate()`...
例如,你可以使用`XPath`表达式来定位特定的元素,或者通过`Element`类的方法来添加、删除或修改子元素和属性。 总的来说,JDOM是Java开发中处理XML的强大工具,它的简洁API和面向对象的设计使得XML操作变得直观且...
在实际开发中,JDOM通常与XPath(XML Path Language)结合使用,XPath允许你通过路径表达式来定位XML文档中的特定节点,这极大地增强了查找和操作XML数据的能力。例如,使用JDOM的XPath支持(需要添加额外的XPath库...
XPath是一种强大的查询语言,可以用来定位XML文档中的特定节点。JDOM提供了Jaxen库来支持XPath。例如,我们可以这样获取名为“elementName”的元素: ```java Element root = document.getRootElement(); Element...
总结起来,`jdom-contrib-1.0.jar`为JDOM增加了XPath的支持,使得在处理XML文档时,我们可以通过简洁的XPath表达式来快速定位和操作节点,提高了开发效率和代码的可读性。如果你在JDOM项目中需要XPath功能,这是一个...
同时,DOM4J的XPath支持使得通过表达式查找和修改XML节点变得非常方便。 **JDOM与DOM4J的比较** 1. **性能** 在内存消耗方面,DOM4J由于提供了更多功能,可能会比JDOM消耗更多资源。而SAXBuilder在JDOM中通常用于...
在JDOM中,还可以考虑使用XPath表达式来快速定位XML元素,提高代码的可读性和效率。 总之,DOM和JDOM是Java中解析XML的重要工具,它们提供了灵活的方式来读取、修改和写入XML文件。根据项目需求和性能考虑,选择...