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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm怎么装第三方库jieba_python怎么导入requests库

    pycharm怎么装第三方库jieba_python怎么导入requests库PyCharm安装第三方库是十分方便的,无需pip或其他工具,平台就自带了这个功能而且操作十分简便。如下:

    2022年8月25日
    9
  • Pycharm中的terminal无法使用bash命令解决办法

    Pycharm中的terminal无法使用bash命令解决办法Reason:最近在看FADA论文,并且要运行代码。要运行的文件是sh文件,我想在terminal中使用bashxxx.sh来运行此文件,结果报错:‘bash’不是内部或外部命令,也不是可运行的程序或批处理文件。解决办法:(需要提前下好git,git网上教程很多,这里不赘述)打开Pycharm,File—->Settings—–>Tools—–>Terminal,如下图选择git安装目录下,bin文件中的bash.exe即可点击OK之后,去Terminal中看,

    2025年7月3日
    2
  • chrome无法从该网站添加应用、扩展程序和用户脚本_谷歌浏览器该插件不受支持怎么解决

    chrome无法从该网站添加应用、扩展程序和用户脚本_谷歌浏览器该插件不受支持怎么解决今天将谷歌浏览器升级到了最新的版本,在安装拓展应用的时候,却发现无法添加应用、拓展程序和用户脚本,让我很是郁闷,现整理解决方法如下:1.在GoogleChrome浏览器的桌面快捷方式上鼠标右键,选择属性(R),进入如下界面2.在目标(T)后添加参数–enable-easy-off-store-extension-install(注意在添加参数之前,要有个空格),…

    2022年10月8日
    3
  • python语言func_python中func什么意思[通俗易懂]

    python语言func_python中func什么意思[通俗易懂]python中的func表示自定义的函数,func只是一个函数名,它的名字不是固定不变的,自定义的函数的参数包括无参数,也可以根据函数动能传递必备参数、位置参数以及关键字参数等。小白在学习python的时候,都会遇到func,一脸蒙!是什么意思呢?在python中,func表示的自定义函数。python中的函数分为内置函数和自定义函数,内置函数是python本身自带的,func函数是人为定义的。f…

    2025年7月13日
    1
  • WinSCP连接VMware虚拟机被拒绝「建议收藏」

    WinSCP连接VMware虚拟机被拒绝「建议收藏」最近在做一个电商项目练手,使用了dubbo,并安装了虚拟机准备模拟熟悉一下,但是使用WinSCP一直提示拒绝连接,下面分享下我的解决办法期望对你们有帮助1.提示信息2.一开始的分析,以为是IP地址错误导致,所有ping了IP显示如下:3.分析IP地址,eth0上面显示的并不是我们常看到的4位的IP127.0.0.1这一类,继续分析可能是没有连网络,意思是:虚拟机也需要单独连接网

    2022年9月17日
    1
  • APC 注入

    APC注入APC介绍APC(AsynchronousProcedureCalls,异步过程调用),APC是函数在特定的线程被异步执行。在Windows中APC是一种并发机制,用于异步的IO或

    2021年12月13日
    101

发表回复

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

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