dom

xml解析

为君一笑 提交于 2020-03-24 19:21:59
目前正在学习xml,在网上搜集了不少资料,整理了下发了出来,希望有IT前辈指点一下,谢谢! 一、xml是什么意思? 所谓xml:Extensible Markup Language,即可扩展标记语言. 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。非常适合Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据. 二、XML的解析 解析XML文件的方法方法: 1、jdk/jdom 2、sax解析 (由上往下解析) 3、dom4j解析 (由外到内解析) 补充: DOM由节点组成 Node 元素节点 属性节点 文本节点 对XML中的解析主要的是对每个元素节点的分析: 1、document.selectNodes(xpath);//查一组 2、document.selectSingleNode(xpath);//查单个 三、xml解析介绍 1.Dom解析 ·DOM(Document Object Model) 是一种用于XML文档的对象模型,可用于直接访问 XML 文档的各个部分。它是一次性全部将内容加载在内存中,生成一个树状结构,它没有涉及回调和复杂的状态管理。缺点是加载大文档时效率低下。 · 常用方法: 1.Document:getElementsByTagName(节点名称); -

XML解析--DOM解析

独自空忆成欢 提交于 2020-03-24 19:09:28
xml解析:用程序来读取xml的内容。 xml的解析方式有两种: 1、DOM解析 2、SAX解析 xml解析对应的工具大致有以下几种: DOM解析工具:   1)JAXP(oracle-Sun公司官方)   2)JDOM工具(非官方)   3)Dom4J工具(非官方)三大框架默认读取xml的工具就是Dom4J SAX解析工具:   1)Sax解析工具(oracle-sun 公司官方) DOM解析 原理: xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)xml文档的内容。 DOM(Document Object Model)文档对象模型,DOM的三层模型将html和xml定义成树形结构,文档中的标签、属性、文本等都封装成节点对象。 节点对象: 根节点:没有父节点的节点对象,xml中只有一个根节点。 元素节点:根节点和根节点中的所有标签都是元素节点。 属性节点:<student id=“001”></student> id就是属性节点。 文本节点:<name>zhangsan</name> zhangsan就是文本节点 注释节点:<!-- --> xml文档中的注释信息 Dom4j使用 Dom4j工具是非官方的,这里提供一个下载地址:http://pan.baidu.com

XML解析-Dom4j的DOM解析方式更新XML

别等时光非礼了梦想. 提交于 2020-03-24 19:05:04
Dom4j工具,是非官方的,不在jdk中。 使用步骤: 1)导入dom4j的核心包。 dom4j-1.6.1.jar 2)编写Dom4j读取xml文件的代码 1、更新XML 1.1、写出内容到xml文档 [java] view plain copy package com.rk.xml.g_dom4j_write; import java.io.File; import java.io.FileOutputStream; import org.dom4j.Document; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; /** * 第一个写出内容到xml文档 * @author RK * */ public class Demo01 { public static void main(String[] args) throws Exception { //一、读取或创建一个Document对象 Document doc = new SAXReader().read( new File( "./src/animals.xml")); //二、修改Document对象内容 //三、把修改后的Document对象写出到xml文档中 //指定文件输出的位置 FileOutputStream outStream =

DOM树操作

岁酱吖の 提交于 2020-03-24 14:04:43
DOM 操作 访问与树关系(节点) 绘制 DOM 树: childNodes, attributes 从一个中心元素访问其所有的直系亲属元素 访问父节点: parentNode 访问上一个兄弟节点: previousSibling 访问下一个兄弟节点: nextSibling 访问第一个属性节点: attributes[ 1 ] 访问第一个子节点:fristChild 或 childNodes[ 0 ] 访问最后一个子节点: lastChild 或 childNodes[ childNodes.length - 1 ] 方法与功能 核心内容就是利用 增删改查 查询 就是获取元素 标准 DOM API doucment.getElementById document.getElementsByTagName document.getElementsByName document.getElementsByClassName document.querySelectorAll 亲属访问 属性获取 getAttribute getAttributeNode 增加 创建 document.createElement 创建元素节点 document.createTextNode 创建文本节点 document.createAttribute 属性节点 innerHTML innerText

sax/dom/jdom/dom4j的区别

北城以北 提交于 2020-03-24 11:25:16
sax/dom/jdom/dom4j的区别【转】 博客分类: xml 网上能够查到很多的4种解析方式的区别,我再做一下摘录和总结,顺带给自己做个备份。 SAX sax分析器在对xml文档进行分析时,触发一系列的事件,应用程序通过事件处理函数实现对xml文档的访问. 因为事件触发是有时序性的,所以sax分析器提供的是一种对xml文档的顺序访问机制,对于已经分析过的部分, 不能再重新倒回去处理.此外,它也不能同时访问处理2个tag. sax分析器在实现时,只是顺序地检查xml文档中的字节流,判断当前字节是xml语法中的哪一部分,检查是否符合 xml语法并且触发相应的事件.对于事件处理函数的本身,要由应用程序自己来实现. SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。 同DOM分析器相比,sax分析器对xml文档的处理缺乏灵活性,但对于只访问xml文档中的数据而不改变应用程序 来说,sax分析器的效率会很高. sax对内存要求也比较低. 优点:1、无需将整个文档加载到内存中,所以内存消耗少. 2 、推模型允许注册多个contentHandler. 缺点:1、没有内置的文档导航支持. 2、不能随机访问xml文档. 3、不支持原地修改xml. 4、不支持名字空间作用域. 适合

Dom实现div跟随鼠标

人走茶凉 提交于 2020-03-24 07:17:37
由于本人是菜鸟对javascrit理解不深入,如果疏漏请大家多多包涵多多题型。近来看到网页上的地图上有个东西跟着鼠标动,上面显示着X和Y的坐标,通过学习和理解终于自己完成了一个。遗憾的是FF上不兼容,但是还是拿出来请大家多多评论指正。下面请看代码: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" > 3 <head> 4 <title>无标题页</title> 5 <script type="text/javascript"> 6 function load(){ 7 8 var xPoint=window.event.clientX; 9 var yPoint=window.event.clientY; 10 div2.innerHTML="X="+xPoint+",Y="+yPoint; 11 div2.style.marginLeft=xPoint+"px"; 12 div2.style.marginTop=yPoint+"px"; 13 div1.onmousemove

onload 和 domready

故事扮演 提交于 2020-03-24 07:08:30
博客地址: https://ainyi.com/46 window.onload 事件会在页面或图像加载完成后触发(即所有元素的资源都下载完毕) 如果页面上有许多图片、音乐或 falsh 还没加载完成,onload 事件就会迟迟无法触发 所以出现了 DOM Ready 事件 熟悉 jQuery的人,都知道 DomReady 事件 $(document).ready(function(){ alert("jQuery 的 DOM 准备完毕,资源还没加载完"); }) DomReady DomReady 事件就是在 DOM 文档结构准备完毕后触发,即在资源加载前触发 DOMContentLoaded DOMContentLoaded 事件比 onload 事件快许多,它是在 DOM 准备完毕后触发(不需等待资源下载完毕) DOMContentLoaded 事件在许多 Webkit 浏览器以及 IE9 上都可以使用,此事件会在 DOM 文档准备好以后触发,包含在 HTML5 标准中 对于支持此事件的浏览器,直接使用 DOMContentLoaded 事件是最简单最好的选择 IE6,7,8 都不支持 DOMContentLoaded 事件。所以目前所有的 hack 方法都是为了让 IE6,7,8支持 DOM Ready 事件 下面代码可以发现 jQuery 的 ready 事件稍微早于

Android笔记(四十七) Android中的数据存储——XML(三)SAX解析

♀尐吖头ヾ 提交于 2020-03-24 06:38:06
SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。 SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否合法XML语法中的某部分,如果符合就会触发事件。所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定义在ContentHandler接口。下面是一些ContentHandler接口常用的方法: startDocument() :当遇到文档的开头的时候,调用这个方法,可以在其中做一些预处理的工作。 endDocument() :和上面的方法相对应,当文档结束的时候,调用这个方法,可以在其中做一些善后的工作。 startElement(String namespaceURI, String localName, String qName, Attributes atts) :当读到一个开始标签的时候,会触发这个方法。namespaceURI就是命名空间,localName是不带命名空间前缀的标签名,qName是带命名空间前缀的标签名。通过atts可以得到所有的属性名和相应的值。要注意的是SAX中一个重要的特点就是它的流式处理,当遇到一个标签的时候,它并不会纪录下以前所碰到的标签,也就是说,在startElement()方法中,所有你所知道的信息

Tomcat - 网络XML DOM/SAX/PULL解析

余生颓废 提交于 2020-03-24 06:37:21
首先, 解析本地的XML 参考     http://www.cnblogs.com/iMirror/p/4122082.html 学习Tomcat搭建本地服务器 参考   在Tomcat默认访问目录 webapps/ROOT下新建XMLParserTest文件夹, 并新建persons.xml        peosons..xml        打开Tomcat , 查询IP地址, 打开该 persons.xml 可以通过访问 “http://192.168.1.111:8080/XMLParserTest/persons.xml”   浏览器打开之后的截图        Genymotion打开截图        这就是说明访问该URL可以得到返回XML   修改本地访问XML程序中的XMLParseActivity.java如下 package mirror.android.XMLParseActivity; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.apache.http.HttpConnection;

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解析原理 优点: 内存消耗小