dom4j和jaxp解析工具的

dom4j和jaxp解析工具的

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

dom4j解析中的几个对象

node

    –branch

    –document 

    –element

    –commment 

    –attribute

    –text

branch

    –document

    –element

jaxp解析中的几个对象

node

    –document

    –element

    –commment

    –attr

    –text


dom4j解析

中全部对象都是node对象的子节点,也就是说它把说有对象都单独分离出来看成一个对象,而branch是一个对经常使用节点的封装和关联,如Element对象就包括了有attribute对象和text对象,而document对象就封装了全部节点对象

jaxp的dom解析

jaxp的dom解析方式没有branch节点,没有将各个节点进行封装,全部操作的都是node节点;

    并且由于节点间没有关联属性,所以在创建节点后须要进行关联,删除节点时须要找父节点

    细节:node的节点没有获得attribute的方法,仅仅有Element才有获得attribute的方法

dom4j解析,jaxp的dom解析的共同点

1.通过依据条件查询后的结果都是一个list集合

2.改动text或textContent时既能够用Node也能够用Element


xml文档解析方式有两种dom和sax,经常使用开发工具有两种jaxp,dom4j

jaxp:将两种解析方法分开了,dom解析和sax解析,sax解析方法没有写方法

dom4j:把两种解析方式结合起来,取文件时採用sax解析,写文件时採用dom解析,继承了两种解析方式的长处


关于sax解析:

sax解析事实上也是把文档载入进内存中,可是这个缓存区仅仅有3M左右的大小(能够用一个大文档,然后打印characters方法中的start值观察),假设文档非常小,所有载入进内存,假设文档非常大,缓存区慢后会自己主动清空缓存区,继续载入兴许数据,这个缓存数组就是characters()方法參数列表中的ch。

也就是说,假设要读取一个小文档,仅仅须要复写这一个方法就能够了,然后将字符数组转成字符串打印就能够了,或者依据角标取响应的数据。

public void characters(char[] ch, int start, int length){

    System.out.println(new String(ch,10,2));

}

然后文档的读取事实上就相当于IO流中的指针移动

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118575.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于recvfrom使用过程中的一个坑点

    关于recvfrom使用过程中的一个坑点问题描述首先对于recvfrom的原型如下:ssize_trecvfrom(intsockfd,void*buf,size_tlen,intflags,structsockaddr*src_addr,socklen_t*addrlen);返回值为读取到的字节长度,这里有一个坑点,我们在接收时需要传入一个buffer用于拷贝接收到的数据,传入参数包括buffer的…

    2022年7月23日
    10
  • 在线数据库设计工具-toolfk程序员在线工具网

    在线数据库设计工具-toolfk程序员在线工具网本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。ToolFk还支持BarCode条形码在线生成、QueryList采集器、PHP代码在线运行、PHP混淆、加密、解密、Python代码在线运行、JavaScript在线运行、YAML格式化…

    2022年7月11日
    83
  • Python面试基础知识_python自学需要哪些基础知识

    Python面试基础知识_python自学需要哪些基础知识python基础知识1.python的常用的数据结构有哪些?2.python的常用的数据类型?3.python生成随机数random(0,10)可以生成包含0~10的随机数吗?4.python反转列表,reverse5.python中有没有用过装饰器、用装饰器的场景,理解装饰器中的逻辑吗?插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML

    2022年8月31日
    1
  • 练习PYTHON之EVENTLET

    练习PYTHON之EVENTLET

    2021年9月10日
    45
  • java native2ascii的用法介绍

    java native2ascii的用法介绍将非Unicode编码字符转化为Unicode编码的字符,即国际化。语法:native2ascii[options][inputfile[outputfile]]描述:如果outputfile没有指定,标准输出将用于结果输出;如果inputfile没有指定,标准输入设备将用于输入。参数-reverse使用该参数将Unicode编码字符转换为本地编码

    2022年9月3日
    3
  • Eclipse 主题,字体 ,字符集 设置

    Eclipse 主题,字体 ,字符集 设置Eclipse 主题,字体 ,字符集 设置

    2022年4月24日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号