创建Document基本操作
public static void BaseOperation() {
// 创建一个Document对象
Document document = DocumentHelper.createDocument();
// 创建一个根节点,根节点的名称为root
Element root = document.addElement("root");
// 为根节点root添加一个名称为"book"子节点
Element book1 = root.addElement("vehicle");
// 为book1添加属性"type",该属性参数为"science"
book1.addAttribute("type", "car");
// 为book1添加一个名称为"name"子节点
Element name1 = book1.addElement("Name");
// 并设置其"name"子节点的值为"Java"
name1.setText("BMW");
// 为"book1"再创建一个"price"子节点,并设其值为"100"
book1.addElement("price").setText("200w");
// 为根结点root添加第二个"book"子节点, 并设置该"book"子节点的"type"属性为"science"
Element book2 = root.addElement("vehicle").addAttribute("type", "wagon");
// 为book2添加"name"子节点
Element name2 = book2.addElement("Name");
// 并设置其"name"子节点的值为"Oracle"
name2.setText("Benz");
// 为book2创建一个"price"子节点,并设其值为200
book2.addElement("price").setText("100w");
// 输出XML在控制台
System.out.println(document.asXML());
}
说明:
- 首先,需要创建Document对象,下面将通过Document对象进行节点,属性,值的配置;
- 通过Document.addElement("节点名")创建节点,并将节点赋值给Element对象;
- 通过Element.addAttribute("属性名","属性值"),在该Element节点下创建一个属性和设置其属性值;
- 通过Element.setText("值")设置该Element对象节点的值;
通过符合Document规范的格式生成Document对象
/**
* 将字符串转化为Document
*
* @param str
* 输入的字符串
* @return 生成的document
* @throws DocumentException
*/
public static Document parserStrtoDocument(String str) {
Document document = null;
try {
document = DocumentHelper.parseText(str);
} catch (DocumentException e) {
e.printStackTrace();
System.out.println("cao");
}
return document;
}
说明:
- 通过DocumentHelper.parseText(str);将字符串格式化为Document对象格式规范;
- str格式为例:"<?xml version='1.0' encoding='UTF-8'?><root><vehicle type='car'><Name>BMW</Name><price>200w</price></vehicle><vehicle type='freight vehicle'><Name>Benz</Name><price>100w</price></vehicle></root>";
- 注意:抛出DocumentException异常,当字符串不符合Document对象格式规范时,将捕获这个异常;
取得xml节点属性的基本方法
/**
* 取得XML的节点和属性的值
* @throws DocumentException
*/
public static void getBaseInfofromDocument() throws DocumentException {
String str = "<?xml version='1.0' encoding='UTF-8'?><root><vehicle type='car'><Name>BMW</Name><price>200w</price></vehicle>"
+ "<vehicle type='freight vehicle'><Name>Benz</Name><price>100w</price></vehicle></root>";
// 生成一个Document,得到XML文档内容
Document document = DocumentHelper.parseText(str);
// 取得XML文档根结点
Element root = document.getRootElement();
// 通过根节点对象取得"vehicle"子节点
Element vehicle = root.element("vehicle");
// 根绝"book"节点对象取得"book"子节点的"type"属性值
String type = vehicle.attributeValue("type");
// 根据"book"节点对象取得"Name"子节点
Element name = vehicle.element("Name");
// 取得书名
String carname = name.getText();
// 取得书的价钱
String price = vehicle.element("price").getText();
// 输出书目信息
System.out.println("车名:" + carname);
System.out.println("类别:" + type);
System.out.println("价格:" + price);
}
说明:
- DocumentHelper.parseText(str);得到XML文档,作为Document对象;
- document.getRootElement();得到根节点;
- 根节点对象.attributeValue("type");得到子节点属性;
- 节点.element("需要取得的节点名");得到该节点的值;
分享到:
相关推荐
在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J是一个基于Java的XML处理库,它支持多种XML处理模型,如SAX和DOM。DOM4J的核心特性包括XML文档的构建、解析、查询和修改。它...
在实际应用中,选择哪个版本取决于项目需求和兼容性。如果项目已经稳定并且对DOM4J 1.6.1的API有依赖,那么升级到2.0.0-ALPHA需要谨慎评估风险。反之,如果项目正在开发阶段,或者需要利用新版本的特性,那么尝试DOM...
5. **灵活性**:DOM4J可以轻松地与Spring、Hibernate等框架集成,广泛应用于企业级开发中。 6. **XML Schema支持**:DOM4J能够处理XML Schema,进行XML文档的验证,确保数据的正确性。 7. **XML编解码**:DOM4J...
在实际开发中,DOM4J常用于读取XML配置文件、解析XML数据、生成XML报告等场景。例如,通过`Document`对象读取XML文件,然后使用`Element`和`XPath`来获取或修改数据。同时,DOM4J还提供了`Writer`接口,可以将XML...
《深入解析DOM4J——基于Java的XML处理框架》 ...通过阅读DOM4J的API文档(如`dom4j-2.0.3-javadoc.jar`),结合源码学习(`dom4j-2.0.3-sources.jar`),可以深入理解其实现原理并更好地利用它来解决实际问题。
运行示例代码,可以实际体验DOM4J的功能并学习如何在项目中应用。 总之,DOM4J作为Java平台上的XML处理库,凭借其易用性、高性能和丰富的功能,成为了许多开发者首选的XML工具。无论是在简单的XML读写,还是复杂的...
通过研究其中的代码,你可以掌握DOM4J处理XML的基本技巧,并理解如何将其应用到实际的Java项目中,以实现XML文件的高效管理和操作。无论是新手还是有经验的开发者,都能从中受益匪浅,提升对XML处理的能力。
学习DOM4J有助于理解XML处理的基本原理,提升XML文档操作的效率,同时在实际项目中能够更灵活地处理XML数据。无论是新手还是经验丰富的开发者,DOM4J都是值得掌握的技能之一。 **总结** DOM4J是一个高效的XML处理库...
在实际应用中,选择哪种解析方式取决于具体需求: - 如果需要快速访问和修改XML的任何部分,且文件大小可以接受,DOM可能是最佳选择。 - 如果处理大文件或需要节省内存,SAX更适合,但可能需要更多的编程工作。 - ...
在实际应用中,选择DOM4J还是JDOM取决于项目需求。如果需要处理复杂的XML操作,包括XPath查询和XSLT转换,DOM4J可能是更好的选择。而如果追求简单易用且对性能有较高要求,JDOM可能更适合。当然,两者都可以通过适当...
在实际应用中,DOM4J有以下常见的使用场景: 1. **XML文件读写**:DOM4J可以方便地读取XML文件,通过Document对象获取整个文档结构,也可以写入XML文件,构建新的XML结构。 ```java File file = new File(...
在实际应用中,解析SOAP消息通常结合网络请求,例如使用Apache HttpClient发送SOAP请求并接收响应,然后使用DOM4J解析响应内容。了解DOM4J库的其他功能,如XPath查询、命名空间处理等,可以帮助更高效地处理复杂SOAP...
在实际应用中,DOM4J通常优于本地DOM解析,因为它提供了更多的便利功能,如元素遍历、修改、查询等。同时,DOM4J对内存和CPU的使用效率更高,尤其是在处理大型XML文件时。 在压缩包文件"复件 dom"中,可能包含了...
在实际应用中,`dom4j-1.6.jar`和`dom4j-1.6.1.jar`的选择主要取决于项目需求。如果项目已经稳定并兼容1.6版本,那么继续使用它可能是更安全的选择。而如果需要新特性或解决已知问题,可能需要升级到1.6.1版本。在...
**DOM4J详解与实例应用** DOM4J是一款强大的Java XML处理库,它提供了一种灵活且高效的方式来处理XML文档。DOM4J以其简洁的API、高性能和丰富的功能,成为了许多Java开发者在处理XML时的首选工具。在这个实例中,...
需要注意的是,在实际应用中,可能还需要对XML文档进行预处理或后处理,例如添加命名空间、处理属性等。此外,DOM4J库还提供了许多其他功能,如XPath查询、XML文档的修改和创建等,这些都是处理XML数据的强大工具。 ...
在实际应用中,通常会将Dom4j的jar包加入到项目的类路径下,以便于使用。在提供的压缩包文件中,"lib"目录可能包含了Dom4j的jar文件,例如"dom4j-1.6.1.jar",这是Dom4j的一个常见版本。将其解压后导入项目,便可以...
**DOM4J 源文件详解** DOM4J 是一个非常强大的 Java XML API,它提供了丰富的功能,使得...这个压缩包中的源代码和示例是学习和使用 DOM4J 的宝贵资源,可以帮助开发者深入理解其内部机制,并在实际项目中灵活应用。
总的来说,DOM4J是一个强大且全面的XML处理工具,无论是在小型项目还是大型企业级应用中,都能发挥重要作用。从DOM4J1.1到DOM4J1.6.1的更新,开发者可以期待更多的改进和新特性,以更好地满足XML处理的需求。