`

dom4j实际应用

阅读更多
创建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_dom4j1.6.1安装包_

    在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J是一个基于Java的XML处理库,它支持多种XML处理模型,如SAX和DOM。DOM4J的核心特性包括XML文档的构建、解析、查询和修改。它...

    dom4j-1.6.1 与 dom4j-2.0.0-ALPHA

    在实际应用中,选择哪个版本取决于项目需求和兼容性。如果项目已经稳定并且对DOM4J 1.6.1的API有依赖,那么升级到2.0.0-ALPHA需要谨慎评估风险。反之,如果项目正在开发阶段,或者需要利用新版本的特性,那么尝试DOM...

    dom4j dom4j dom4j dom4j

    5. **灵活性**:DOM4J可以轻松地与Spring、Hibernate等框架集成,广泛应用于企业级开发中。 6. **XML Schema支持**:DOM4J能够处理XML Schema,进行XML文档的验证,确保数据的正确性。 7. **XML编解码**:DOM4J...

    dom4j-2.1.3.zip

    在实际开发中,DOM4J常用于读取XML配置文件、解析XML数据、生成XML报告等场景。例如,通过`Document`对象读取XML文件,然后使用`Element`和`XPath`来获取或修改数据。同时,DOM4J还提供了`Writer`接口,可以将XML...

    dom4j-2.0.3.zip

    《深入解析DOM4J——基于Java的XML处理框架》 ...通过阅读DOM4J的API文档(如`dom4j-2.0.3-javadoc.jar`),结合源码学习(`dom4j-2.0.3-sources.jar`),可以深入理解其实现原理并更好地利用它来解决实际问题。

    dom4j 2.1.1

    运行示例代码,可以实际体验DOM4J的功能并学习如何在项目中应用。 总之,DOM4J作为Java平台上的XML处理库,凭借其易用性、高性能和丰富的功能,成为了许多开发者首选的XML工具。无论是在简单的XML读写,还是复杂的...

    dom4j的Java工程

    通过研究其中的代码,你可以掌握DOM4J处理XML的基本技巧,并理解如何将其应用到实际的Java项目中,以实现XML文件的高效管理和操作。无论是新手还是有经验的开发者,都能从中受益匪浅,提升对XML处理的能力。

    dom4j(2.1.1+ 2.0.2+ 1.6.1).zip

    学习DOM4J有助于理解XML处理的基本原理,提升XML文档操作的效率,同时在实际项目中能够更灵活地处理XML数据。无论是新手还是经验丰富的开发者,DOM4J都是值得掌握的技能之一。 **总结** DOM4J是一个高效的XML处理库...

    xml 三种解析方式dom,sax,dom4j

    在实际应用中,选择哪种解析方式取决于具体需求: - 如果需要快速访问和修改XML的任何部分,且文件大小可以接受,DOM可能是最佳选择。 - 如果处理大文件或需要节省内存,SAX更适合,但可能需要更多的编程工作。 - ...

    dom4j和jdom的jar包

    在实际应用中,选择DOM4J还是JDOM取决于项目需求。如果需要处理复杂的XML操作,包括XPath查询和XSLT转换,DOM4J可能是更好的选择。而如果追求简单易用且对性能有较高要求,JDOM可能更适合。当然,两者都可以通过适当...

    dom4j的属性及应用

    在实际应用中,DOM4J有以下常见的使用场景: 1. **XML文件读写**:DOM4J可以方便地读取XML文件,通过Document对象获取整个文档结构,也可以写入XML文件,构建新的XML结构。 ```java File file = new File(...

    利用DOM4J解析SOAP的简单示例

    在实际应用中,解析SOAP消息通常结合网络请求,例如使用Apache HttpClient发送SOAP请求并接收响应,然后使用DOM4J解析响应内容。了解DOM4J库的其他功能,如XPath查询、命名空间处理等,可以帮助更高效地处理复杂SOAP...

    使用dom4j 和本地dom 解析xml 文件

    在实际应用中,DOM4J通常优于本地DOM解析,因为它提供了更多的便利功能,如元素遍历、修改、查询等。同时,DOM4J对内存和CPU的使用效率更高,尤其是在处理大型XML文件时。 在压缩包文件"复件 dom"中,可能包含了...

    dom4j-1.6;dom4j-1.6.1的jar包

    在实际应用中,`dom4j-1.6.jar`和`dom4j-1.6.1.jar`的选择主要取决于项目需求。如果项目已经稳定并兼容1.6版本,那么继续使用它可能是更安全的选择。而如果需要新特性或解决已知问题,可能需要升级到1.6.1版本。在...

    dom4j dom4j实例

    **DOM4J详解与实例应用** DOM4J是一款强大的Java XML处理库,它提供了一种灵活且高效的方式来处理XML文档。DOM4J以其简洁的API、高性能和丰富的功能,成为了许多Java开发者在处理XML时的首选工具。在这个实例中,...

    XSD使用dom4j校验XML

    需要注意的是,在实际应用中,可能还需要对XML文档进行预处理或后处理,例如添加命名空间、处理属性等。此外,DOM4J库还提供了许多其他功能,如XPath查询、XML文档的修改和创建等,这些都是处理XML数据的强大工具。 ...

    Dom4j常用jar包

    在实际应用中,通常会将Dom4j的jar包加入到项目的类路径下,以便于使用。在提供的压缩包文件中,"lib"目录可能包含了Dom4j的jar文件,例如"dom4j-1.6.1.jar",这是Dom4j的一个常见版本。将其解压后导入项目,便可以...

    dom4j的源文件(dom4j-1.6.1)含例子和jar包

    **DOM4J 源文件详解** DOM4J 是一个非常强大的 Java XML API,它提供了丰富的功能,使得...这个压缩包中的源代码和示例是学习和使用 DOM4J 的宝贵资源,可以帮助开发者深入理解其内部机制,并在实际项目中灵活应用。

    dom4j1.1-1.6.1.rar

    总的来说,DOM4J是一个强大且全面的XML处理工具,无论是在小型项目还是大型企业级应用中,都能发挥重要作用。从DOM4J1.1到DOM4J1.6.1的更新,开发者可以期待更多的改进和新特性,以更好地满足XML处理的需求。

Global site tag (gtag.js) - Google Analytics