dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。 dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. 对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。 如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例如Hibernate,包括sun公司自己的JAXM也用了Dom4j。 XML文件 1.文档中全为英文,不设置编码,直接写入的形式.
2.使用dom4j解析XML 1.创建普通的Maven项目 打开IDEA编译器,在导航栏选择文件,接下来点击新建 ,然后选择项目。 2.导入dom4j的依赖 在加载后的项目下,找到pom.xml文件,将依赖导入其中,具体依赖如下所示: <dependencies> <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version> 2.1.1</version> </dependency> </dependencies> 3.使用dom4j解析user.xml 使用dom4j解析user.xml的步骤如下所示 ().getResource("users.xml")); 4.根据Document对象获取XML的元素(标签)信息 Dom4j的常用API说明: 方法 操作 Element getRootElement
Java常用的解析技术有两种, dom4j、Marshaller和Unmarshaller。Marshaller和Unmarshaller是jdk自带的,不需要引入jar包。 Marshaller和Unmarshaller可以方便实现xml与javabean之间的转换,适合于xml格式固定的解析。dom4j适合xml结构不不统一、需要自定义的xml解析。 dom4j dom4j需要添加dom4j.jar包,这里通过写和读的例子来讲解dom4j。 mvn依赖 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1 </students>"; Document document = DocumentHelper.parseText(xmlStr); XML的写入 Element是xml中节点对象,Element常见操作有
基本使用 //读取xml SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml ele.setText("张三"); //设置属性 ele.addAttribute("show", "yes"); //添加注释 ele.addComment("This is a test for dom4j --new.xml--> <?xml version="1.0" encoding="UTF-8"? // 创建xml解析器对象reader SAXReader reader = new SAXReader(); // 加载xml文件, 获取document对象 Document document = = reader.read("src/test_xml/first.xml"); //xml转换成字符串 String memberXmlText=document.asXML();
XML文档说明 2. XML解析 2.1 常见的解析方式 2.2 DOM4J解析xml 2.3 XPath表达式解析XML 3. 解析XML并封装到类中 4. 参考资料 1. 约束 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。 3.PULL:Android内置的XML解析方式,类似SAX。(了解) 2.2 DOM4J解析xml DOM4J是以dom方式解析。 由于DOM4J在解析XML时只能一层一层解析,所以当XML文件层数过多时使用会很不方便,结合XPATH就可以直接获取到某个元素。 引入jar包:jaxen-1.1.6.jar 在dom4j里面提供了两个方法,用来支持xpath List<Node> selectNodes("xpath表达式"),用来获取多个节点 Node selectSingleNode
解析XML的方式有很多,本文介绍使用dom4j解析xml。 有时,我们需要把document对象写入新的文件,dom4j提供了对应的API以便我们进行操作。 我们在完成第 5 后,把document写入新的文件s1.xml,如下。 /s1.xml")),"UTF-8"), format); //写入新文件 writer.write(document); writer.flush(); writer.close java dom4j解析xml 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152013.html原文链接:https://javaforall.cn
OutputFormat的参数设置,可以实现xml输出时换行、缩进、编码方式、是否显示xml声明等等控制。 ); // 不在文件头生成 XML 声明 (<? xml version="1.0" encoding="UTF-8"? >) XML_FORMAT.setSuppressDeclaration(true); // 不在文件头生成 XML 声明 (<? xml version="1.0" encoding="UTF-8"?
1. dom4j概述 解析DOM4J是一个开源XML解析包,采用了Java集合框架并完全支持DOM,SAX和JAXP。最大的特色是使用了大量的接口,主要接口都在org.dom4j里定义。 2. dom4j的使用 2.1 Doucment相关用法 2.11 解析XML文件,获得Document对象 SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml")); 2.12 解析字符串,获得Document对象 String text = "<members></members sans-serif;">student.remove(attribute); 2.4 文档最后写入 ); writer.close(); 2.5 字符串与XML的转换 2.51 字符串 To XML String text = "<members> <member>sitinspring</member
1、简介 dom4j是java中的XML API,性能优异、功能强大、开放源代码。 也是所有解析XML文件方法中最常用的! xml version="1.0" encoding="UTF-8"? <brand name="小米"> <type name="红米"/> <type name="小米8"/> </brand> </phone> 创建类Test,再使用DOM4j ); //为子节点赋予属性值 type2.addAttribute("name","卧槽"); //保存 save(); } DOM4j 跟DOM一样都要通过某种方式保存实现真正的数据交互 DOM4j是通过输出流的方式进行保存 private void save() { //设置格式 OutputFormat
xml样例如下 <Result> a <Test> b <Test1> </Test1> </Test> </Result> dom4j jar包下载地址 https://dom4j.github.io/ 解析xml代码 import org.dom4j.Document
百度了一些博客,大同小异,在选取jar包工具的时候大概看了下,大抵是jdom原始,dom4j优秀。于是做了些练习。 参考:http://www.cnblogs.com/mengdd/archive/2013/06/05/3119927.html 1 package com.test.xml; 2 3 import org.dom4j.io.SAXReader; 15 import org.dom4j.io.XMLWriter; 16 17 /** 18 * @ClassName: TestDom4j 19 * @Description:dom4j 练习xml的读写 20 * @author mrf 21 * @date 2015-11-11 下午02:25:20 22 * 23 */ 24 public class TestDom4j /school.xml"); 162 163 read("src/main/java/com/test/xml/school.xml"); 164 165
使用dom4j解析xml 首先在项目中加入dom4j的依赖 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j </artifactId> <version>1.6</version> </dependency> 附上基于dom4j解析xml的工具类 /* * Copyright © 1998 字符串的工具类 public class XMLUtils{ /** * 获取xml对象的根节点 * @param document * @return root */ public rows.add(e2); } } } return rows; } /** * 根据url获取xml 字符串获取xml对象 * @param xmlString * @return document */ public static Document getXmlFromString(String
使用DOM4J方式生成XML文件的步骤如下: 引入JAR包 通过DocumentHelper类的createDocument()创建Document对象 通过Document的addElement()方法创建节点 对象(会自动缩进、换行) 创建XMLWriter对象,将目的文件包装成OutputStream传入构造方法中,并将OutputFormat对象一并传入其中 通过XMLWriter的write()方法生成XML ,若不想让DOM4J进行自动转义,我们可以通过XMLWriter的setEscapeText()方法进行设置。 默认情况下,DOM4J会自动进行转义,相当于writer.setEscapeText(true); 若不想让其自动转义,可使用writer.setEscapeText(false); 以上这篇Java DOM4J方式生成XML的方法就是小编分享给大家的全部内容了,希望能给大家一个参考。
默认情况下,输出写入当前设备。要指定输出目标,请在开始编写文档之前调用以下方法之一: OutputToDevice()-将输出定向到当前设备。 OutputToFile()-将输出定向到指定文件。 可以选择写入文档的序言行。可以使用以下方法: WriteDocType() - 编写DOCTYPE声明。 WriteProcessingInstructions()-编写处理指令。 在本例中,使用RootObject()方法,该方法将指定的启用XML的对象作为根元素写入。根元素可能只是一组元素的包装器,而这些元素是InterSystems IRIS对象。 有几种方法可以编写单个元素,并且可以结合使用这些技术:可以使用object()方法,该方法写入启用XML的对象。可以指定此元素的名称,也可以使用由对象定义的默认值。 注意:这里描述的方法旨在使够向XML文档写入特定的单元,但在某些情况下,可能需要更多的控制。在%XML.Writer提供了一个额外的方法Write(),可以使用该方法将任意字符串写入输出中的任何位置。
int num=5; 教材编号 XML的组成部分: 01.文档声明 <?xml version="1.0" encoding="UTF-8"? 3.自定义一个xml文件 (学校 年级 班级) 4.需求通过dom4j实现查询学校下面的年级以及班级信息 5.创建一个测试类 书写代码 具体操作请看: https://www.cnblogs.com /lsy131479/p/9237154.html 解析xml文件的方式: 01.DOM:基于xml文档树结构的解析,把xml文件中的内容都读取到内存中, 比较占内存,消耗资源多! DOM4J解析xml 1. 导入dom4j jar包 ? = "true"; // 装载xml文档,即指定校验哪个XML文件 xmldoc.load("phone.xml"); document.writeln
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷。 使用DOM4J技术解析XML文件的步骤? dom4jXml()throws Exception{ //第一步:获得一个解析器 SAXReader saxreader = new SAXReader(); //第二步:指定解析的XML 文件 Document document=saxreader.read(new File("src/myclass.xml")); //如果想对XML文件进行具体的操作,则可以调用下面的方法 //1.遍历该XML文件 dom4jList(document.getRootElement()); //传入根元素获取名称和文本内容并判断是否存在子元素并获取信息 } public static void dom4jList(Element element){ //遍历XML文件 //获取文件中父元素的名称和文本内容
在 java注解生成xml和包含CDATA问题里面做了介绍,这里直接贴代码。 1:生成xml的java文件 package com.dufy.test.xml; import java.io.File; import java.io.FileNotFoundException; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; /** * 使用DOM4J 头条的Encoding //addElement写入根节点 addAttribute节点属性的键和值 Element root = document.addElement www.example.com/10777829/T_400x400.jpg]]></url> <size>400x400</size> </pic_extra> </item> 3:参考文章 (1):Dom4j
dom4j是一个优秀的开源项目,专用于xml文件的读写,而且支持强大的xpath. 下面的代码演示了对xml文件demo.xml的读写 demo.xml内容: 1 <? xml version="1.0" encoding="UTF-8" ? telephone> 15 </card> 16 </address-list> java代码: 1 package jmyang.dom4j; 2 3 /** 4 * Title:dom4j xml version="1.0" encoding="UTF-8"? [CDATA[private@some-domain.com]]></email> </card> </address-list> 最后注意一点:dom4j支持xpath语法,但该特性需要jaxen
Title:dom4j xml version="1.0" encoding="UTF-8"? [CDATA[private@some-domain.com]]></email> </card> </address-list> 最后注意一点:dom4j支持xpath语法,但该特性需要jaxen
最近在在做个程序需要将C#小工具转成java,因为需要涉及到操作xml文件所以需要引用dom4j; 使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使 AbstractNode.java:164) 这么好用的方法怎么能抛异常呢,一路跟踪过去看,竟然是“List l = doc.selectNodes("//COLS/COL1");” 这句报错,查了一下才知道,不光要有dom4j 这个包,还要有jaxen 包:<jaxen-1.1-beta-6.jar>-238 KB,这 应该是dom4j的基础包,在dom4j的zip包的lib目录里可以找到。
一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式;但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4j 解析xml的具体操作。 二.代码详情 dom4j是一个第三方开发组开发出的插件,所以在我们使用dom4jf的时候我们要去下载一下dom4j对应版本的jar导入在我们项目中。 OutputFormat.createPrettyPrint(); //设置输出编码 format.setEncoding("UTF-8"); //创建需要写入的 XMLWriter writer = new XMLWriter(new FileOutputStream(file), format); //开始写入,write方法中包含上面创建的
云硬盘(CBS)为您提供云服务器的持久性块存储服务。云硬盘中的数据自动地在可用区内以多副本冗余方式存储,避免数据的单点故障风险,提供高达99.9999999% 的数据可靠性。云硬盘提供多种类型及规格的磁盘实例,满足稳定低延迟的存储性能要求。
扫码关注腾讯云开发者
领取腾讯云代金券