XML使用XPath的查询,就像我们平常操作数据库一样,根据某一关键字,然后取出关键字所对应的记录,然后再取出其对应的属性值。
如果想更详细了解JDom中XPath的使用,请参阅文章:
http://blog.csdn.net/fenglibing/archive/2007/07/01/1674201.aspximport java.io.FileInputStream;
import java.util.List;
import org.jdom.xpath.*;
import org.jdom.input.SAXBuilder;
import org.jdom.*;
/**
* 使用JDOM操作XML文件示例--利用XPath进行查找操作
* 步骤:
* 1、去www.jdom.org下载jdom 1.0,也只有这个版本,因为作为觉得简单的才是最好的,除非XML更改才会对程序更行更改
* 2、准备XML文件,将放在指定的目录下:
* <?xml version="1.0" encoding="UTF-8" ?>
<student>
<user id="1">
<name>test_boy</name>
<age>23</age>
<sex>boy</sex>
</user>
<user id="2">
<name>test_girl</name>
<age>20</age>
<sex>girl</sex>
</user>
</student>
× 3、将代码放进去,直接运行并查看结果,就OK了
*/
public class JDomSearchTest
{
String xmlPath = "e:\\Mickey\\test2.xml";//原文件,必须存在
SAXBuilder builder=new SAXBuilder();
Document document;
public JDomSearchTest()
{
try
{
document=builder.build(new FileInputStream(xmlPath));
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
JDomSearchTest j=new JDomSearchTest();
Element root=j.document.getRootElement();
List list=null;
try
{
//下面进行从得到的root下面的/student/user开始查找
//此的/student/user就相当于我们常见的目录地址一样
//因为XML的组织形式本来就是树形的
list = XPath.selectNodes(root,"/student/user");
}
catch (JDOMException e)
{
e.printStackTrace();
}
for(int i=0;i<list.size();i++)
{
Element e=(Element)list.get(i);
//取得属性
String id=e.getAttributeValue("id");
try
{
//利用属性进行查寻
//得到对应id下面的name的值
String name = ((Text)XPath.selectSingleNode(e,"//user[@id="+id+"]/name/text()")).getTextNormalize();
//得到对应id下面的age的值
String age=((Text)XPath.selectSingleNode(e,"//user[@id="+id+"]/age/text()")).getTextNormalize();
//得到对应id下面的sex的值
String sex=((Text)XPath.selectSingleNode(e,"//user[@id="+id+"]/sex/text()")).getTextNormalize();
System.out.println("name:"+name);
System.out.println("sex:"+sex);
System.out.println("age:"+age);
System.out.println("--------------------");
}
catch (JDOMException f)
{
f.printStackTrace();
}
}
}
}
相关推荐
在实际应用中,JDOM结合XPath可以极大地提高处理XML文档的效率和灵活性。例如,你可以在Web服务、配置文件处理、数据交换等多个场景中利用它们的功能。了解并熟练掌握这两个方法,将有助于你更好地驾驭XML文档的处理...
结合JDOM和XPath,开发者可以快速、灵活地从XML文档中提取所需信息。然而,需要注意的是,虽然XPath提供了强大的功能,但过度使用复杂的XPath表达式可能导致性能下降,因为每个表达式都需要解析和编译。因此,合理...
**XPath**是XML路径语言,用于在XML文档中查找信息。它提供了一种简洁的方式来选取XML文档中的节点,如元素、属性、文本等。在Java中,我们可以使用JAXP(Java API for XML Processing)提供的XPathAPI来实现XPath...
在这个"xpathDemo.zip"中,我们可以看到一个使用JDOM和XPath结合的示例。JDOM允许开发者以一种与XML结构相对应的方式在Java程序中创建和操作XML文档。通过JDOM,你可以创建新的XML文档,修改现有文档,或者查询文档...
在JDOM中,没有内置的XPath支持,但通过`jdom-contrib`,我们可以将XPath与JDOM结合,实现以下功能: 1. **XPath解析**:`jdom-contrib`提供了`XPathReader`类,可以解析XPath表达式并返回一个匹配的节点集合。这...
- **查询XML**:JDOM支持XPath表达式,可以方便地查找XML文档中的节点。 - **序列化XML**:将XML对象转换回XML字符串,以便输出到文件或网络。 **3. JDOM的安装与下载** JDOM的最新版本可以在官方网站或者通过Maven...
JDOM是由以下几个包组成的: org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom....org.jdom.xpath包含了对xml文档xpath操作的类
在Java开发中,使用DOM4J或其他类似库(如JDOM、XMLBeans等)结合XPath,可以高效地读取、修改XML数据。这些库提供了API,使得开发者能够轻松地将XPath表达式转换为实际的节点操作,从而实现对XML文档内容的动态查询...
JDOM是由以下几个包组成的: org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom....org.jdom.xpath包含了对xml文档xpath操作的类
总之,XPath和JDOM结合使用,为Java开发者提供了一种强大而灵活的方式来处理XML数据。理解XPath语法,掌握JDOM的API,将使你在处理XML文档时更加得心应手。在实际项目中,你可以根据需求调整和优化这些基本步骤,...
6. **`XPath`**:JDOM支持XPath表达式,通过`XPath`类可以方便地查找XML文档中的特定节点。 在实际应用中,你可以使用JDOM来执行以下操作: - **解析XML**:通过`SAXBuilder`或`DOMBuilder`从XML文件或字符串创建`...
JDOM是一个专为Java设计的XML处理库,它结合了SAX和DOM的优点,提供了一种更高效且方便的方式来解析、创建和操作XML文档。JDOM的核心思想是创建一个基于Java对象模型的XML文档表示,使得开发者能够利用Java的强大...
XPath是一种在XML文档中查找信息的语言,JDOM提供了Jaxen库来支持XPath。例如,以下代码演示了如何找到文档中的特定元素: ```java import org.jdom2.xpath.XPathExpression; import org.jdom2.xpath.XPathFactory;...
3. **查询与修改**:JDOM 支持 XPath 查询语言,可以方便地查找文档中的特定元素。同时,可以使用 Element 和 Attribute 的方法直接修改 DOM 树。 4. **序列化**:将 Document 对象转换回 XML 字符串,可以使用 ...
org.jdom.xpath 包含了对xml文档xpath操作的类三、JDOM 类说明 1、org.JDOM这个包里的类是你J解析xml文件后所要用到的所有数据类型。 Attribute CDATA Coment DocType Document Element EntityRef ...
JDOM 是一个专门为Java设计的XML处理库,它结合了SAX和DOM的优点,提供了一种高效且易于使用的API来创建、解析和操作XML文档。JDOM的主要目标是简化XML处理,通过利用Java语言的强大特性,如方法重载、集合和映射,...
#### 一、JDOM简介 JDOM(Java Document Object Model)是一种用于处理XML文档的Java库。与SAX和DOM API相比,JDOM提供了更为简洁和直观的方式来创建、读取、修改和输出XML文档。本教程主要介绍了如何使用JDOM进行...
5. **XPath支持**:JDOM支持XPath表达式,允许快速查找和定位XML文档中的特定部分。`XPath`类提供了一系列方法来执行XPath查询。 ### 应用场景 JDOM在各种Java项目中都有广泛的应用,特别是在XML数据的解析、生成...
此外,`org.jdom.xpath`包提供了XPath支持,使得开发者可以通过XPath表达式快速定位XML文档中的特定部分。这极大地提高了XML数据的查询效率和灵活性。 在实际应用中,JDOM的性能表现良好,尤其是在处理小型XML文档...
JDOM通过利用Java语言的强大特性,如方法重载、集合和映射,将SAX和DOM的优点结合在一起,简化了XML处理的复杂性。 ### 一、JDOM简介 JDOM由Brett McLaughlin和Jason Hunter于2000年开发,旨在克服DOM和SAX的局限...