xml语言

java基础73 dom4j修改xml里面的内容(网页知识)

故事扮演 提交于 2020-03-24 06:36:50
1、DOM4J对XML文件进行增删改操作 实现代码 1 package com.shore.code; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 7 import org.dom4j.Attribute; 8 import org.dom4j.Document; 9 import org.dom4j.DocumentHelper; 10 import org.dom4j.Element; 11 import org.dom4j.io.OutputFormat; 12 import org.dom4j.io.SAXReader; 13 import org.dom4j.io.XMLWriter; 14 import org.junit.Test; 15 16 /** 17 * @author DSHORE / 2018-9-3 18 * 19 */ 20 /* 21 * 修改xml内容 22 * 增加:文档,标签,属性 23 * 修改:属性值,文本 24 * 删除:标签,属性 25 * */ 26 public class Demo3 { 27 /* 28 * 增加:文档,标签,属性 29 * */ 30 @Test 31 public

java基础71 XML解析中的【DOM和SAX解析工具】相关知识点(网页知识)

為{幸葍}努か 提交于 2020-03-24 06:36:35
本文知识点(目录): 本文下面的“实例及附录”全是DOM解析的相关内容 1、xml解析的含义 2、XML的解析方式 3、xml的解析工具 4、XML的解析原理 5、实例 6、附录1(获取xml中的所有节点、根标签、根标签下的子标签、子标签中的文本内容) 7、附录2(获取xml中的所有节点、根标签、根标签下的子标签、子标签中的文本内容) 8、附录3(把xml文档中的信息封装到对象中) 1、xml解析的含义 xml文件除了给开发者看,更多情况下是使用程序读取xml文件中的内容 2、XML的解析方式 DOM解析 SAX解析 3、xml的解析工具 3.1、DOM解析工具 1.JAXP(oracle-Sun公司官方) 2.JDOM工具(非官方) 3.Dom4j工具(非官方的)。 三大框架(默认读取xml的工具就是DOM4j) 3.2、SAX解析工具 1.Sax解析工具(oracle-Sun公司官方) 4、XML的解析原理 4.1、DOM解析的原理 xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一个Document的对象树,通过document对象,得到树上的节点对象,通过节点对象访问(操作)到xml文档的内容. 缺点: 内存消耗大 优点: 文档增删改查比较容易 4.2、SAX解析的原理 从上往下读,读一行处理一行。 DOM与SAX解析的区别 SAX解析原理 优点: 内存消耗小

XML DOM解析

十年热恋 提交于 2020-03-24 06:35:43
创建一个xml文件 建一个文件夹导入jar包 building add 点入 public static void main(String[] args) throws DocumentException, ClassNotFoundException, InstantiationException, IllegalAccessException { // 1.获取解析器 SAXReader sax=new SAXReader(); // 2.获得document文档对象 Document doc=sax.read("src/com/oracle/demo04/web.xml"); // 3.获取根元素 Element element=doc.getRootElement(); // 4.判断元素名称为servlet的元素 Element servlet=element.element("servlet"); // 5.获取servlet-class元素 Element className=servlet.element("servlet-class"); //开始反射 获取MyServlet字节码文件对象 Class c=Class.forName(className.getText()); //快速创建对象 Object obj=c.newInstance(); //向下转型

解析xml的方式

送分小仙女□ 提交于 2020-03-24 06:34:19
1.DOM 理论:将标记文档语言一次性加载进内存,在内存中形成DOM树。 优点:操作方便,可以对文档进行CRUD(增删改查)操作,适用于服务端操作 缺点:占内存,不适用与手机,智能家居等内存容量小的设备。 2.SAX 理论:逐行读取进内存,基于事件驱动。一般读取一行就会释放一行,内存中只存在一行代码 优点:不占内存,使用于手机等内存小的移动端 缺点:只能读取,不能增删改。 xml常见的解析器: 1.JAsp:SUN公司提供的解析器,支持DOM和SAX方式 2.DOM4J:一款比较好用的解析器 3.JSoup:Java的HTML解析器,可以用于解析XML,DOm方式 4.PULL:安卓系统内置的解析器,使用SAx方式解析。 来源: https://www.cnblogs.com/languo520/p/10996426.html

XML的解析

孤街浪徒 提交于 2020-03-24 06:34:04
开发中比较常见的解析方式有三种,如下:   1.DOM:要求解析器把整个XML文档装载到内存,并解析成一个Document对象。     a)优点:元素与元素之间保留结构关系,故可以进行增删改查操作。     b)缺点:XML文档过大,可能出现内存溢出显现。   2.SAX:是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。并以事件驱动的方式进行具体解析,每执行一行,都将触发对应的事件。(了解)     a)优点:处理速度快,可以处理大文件     b)缺点:只能读,逐行后将释放资源。   3.PULL:Android内置的XML解析方式,类似SAX。(了解) 什么是解析器?   就是根据不同的解析方式提供的具体实现。有的解析器操作过于繁琐,为了方便开发人员,有提供易于操作的解析开发包。 常见的解析开发包:   JAXP:sun公司提供支持DOM和SAX的开发包   JDom:dom4j兄弟   jsoup:一种处理HTML特定解析开发包   dom4j:比较常用的解析开发包,hibernate底层采用。 来源: https://www.cnblogs.com/nylgwn/p/11138687.html

使用jaxp对比xml进行DOM解析

一笑奈何 提交于 2020-03-24 06:33:34
/*DOM解析编程 •遍历所有节点 •查找某一个节点 •删除结点 •更新结点 •添加节点 /* package cn.itcast.jaxp; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node;

XML教程——采用SAX来解析XML

怎甘沉沦 提交于 2020-03-24 06:32:56
什么是 SAX 读取和操纵 XML 文件的标准方法是 DOM(“文档对象模型”)。遗憾的是,这种方法需要读取整个文件并将它存储到树结构中,因而效率不高、缓慢,并且会过度使用资源。 一种替代方法是使用 Simple API for XML 或 SAX。SAX 允许正在读取文档时处理该文档,这避免了在采取操作之前需要等待存储文档的所有内容。 SAX 是由 XML-DEV 邮件列表的成员开发的,Java 版本由 David Megginson 维护。他们的目的是提供一种更自然的方法来使用 XML,这种方法不会涉及到使用 DOM 的那种开销。 结果是基于事件的 API。解析器将事件(譬如,元素的开始或结束)发送给处理信息的事件处理程序。然后,应用程序自己可以处理数据。虽然原始文档保持不变,但 SAX 提供了操纵数据的方法,然后会将该方法导向另一个过程或文档。 对于 SAX,没有官方的标准;万维网(W3C)或其它官方组织不维护 SAX,但在 XML 社区中,它是一个事实上的标准。 回页首 SAX 处理是如何工作的 SAX 分析经过其的 XML 流,这非常象老式的自动收报机纸条。考虑以下 XML 代码片断: <?xml version="1.0"?> <samples> <server>UNIX</server> <monitor>color</monitor> </samples>

java解析xml字符串方法

倖福魔咒の 提交于 2020-03-24 06:32:42
一,用DOM4J 针对无重复标签的xml字符串格式,如下: 针对此种情况可用 DOM4J 解析法,引入 dom4j的相关jar包代码如下: Document document=DocumentHelper.parseText(xmlStr); //xmlStr为上图格式的字符串 Node VideoCompany=document.selectSingleNode("//VideoCompany"); //获取节点对象,注意引号内的“//”必须加 ,否则报错 Node DevIP=document.selectSingleNode("//DevIP"); //根据节点对象获取相应信息 String videoCompany=VideoCompany.getText(); String devIp=DevIP.getText(); System.out.println(devIp) //此时输出结果极为字符串:3333 二,用DOM 针对有重复标签的xml字符串格式,如下: <?xml version="1.0" encoding="UTF-8"?> <books> <book id="001"> <title>Harry Potter</title> <author>J K. Rowling</author> </book> <book id="002"> <title

jaxp解析XML之DOM解析

假如想象 提交于 2020-03-24 06:32:31
XML解析技术 XML解析方式分为三种一种是DOM解析一种是SAX解析 DOM思想:将整个xml加载入内存,形成围挡对象,所有对xml操作都是对内存中节点对象进行, DOM是官方xml解析标准,同时支持解析其他各种语言 SAX解析方式的出现,因为DOM的解析方式需要对文档进行加载入内存,当文档较大的时候比较消耗资源,这时候就出现了SAX解析 SAX思想:一边解析,一边处理,一边释放资源 在JDK6中又引入了另一种StAX解析方式 是一种拉模式的xml解析方式,而SAX是一种推模式XML解析方式 推模式由服务器端为主导,向客户端发送数据,push模式 拉模式由客户端为主导,主动地向服务器申请数据,pull模式 XML解析开发包 JAXP sun官方推出的解析实现方式同时支持三种解析方式 DOM4j 开源社区框架,支持DOM解析方式 XML PULL 安卓移动设备内置,支持XML PULL解析方式 DOM支持回写 会将整个XML载入内存,以树形结构方式存储,XML比较复杂的时候,或者当你需要随机处理文档中数据的时候不建议使用 SAX/STAX 相比DOM是一种更为轻量级的方案 采用串行方法读取---文件输入流(字节,字符)读取方式 不支持过程中修改XML数据 编程较为复杂 具体使用哪种解析方式要根据实际情况来判断 1,应用程序是否必须对数据进行修改,并作为XML文档输出

Java中四种XML解析技术

爷,独闯天下 提交于 2020-03-24 06:32:19
在平时工作中,难免会遇到把 XML 作为数据存储格式 。 面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为) 。 测试环境:   AMD 毒龙1.4G OC 1 . 5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1 . 4.1+Eclipse 2.1+Resin 2.1 . 8,在 Debug 模式下测试。  XML 文件格式如下: <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE>   <NO>A1234</NO>   <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>  </VALUE>  <VALUE>   <NO>B1234</NO>   <ADDR>四川省XX市XX乡XX村XX组</ADDR>  </VALUE> </RESULT>  测试方法:   采用 JSP 端调用Bean(至于为什么采用JSP来调用,请参考: http://blog.csdn.net/rosen/archive/2004/10/15/138324.aspx ),让每一种方案分别解析10K 、 100K、1000K、10000K的 XML 文件