`
i_bugs
  • 浏览: 4303 次
社区版块
存档分类
最新评论

i_bugs study: dom4j解析XML

    博客分类:
  • java
阅读更多

    简介:
    1. JAVA XML API
    2. Dom4j is a simple and flexible open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework with full integration with DOM, SAX and JAXP.



    概念:
    1. XML
    全称:Extensible Markup Language,可扩展标记语言
    定义:用于标记电子文件使其具有结构性标记语言
    作用:提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据

    2. DOM
    全称:Document Object Model,文档对象模型
    定义:The Document Object Model is a platform-and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the the presented page.
    文档对象模型作为与平台和语言无关的接口,允许程序和脚本语言动态访问和更新文档的内容,结构和样式。使用文档对象模型的文件可以被进一步处理,同时处理的结果可以合并到已显示的页面中。


    为什么选择DOM4J解析器
    1. 常见解析器
    DOM是基于平台、语言无关的W3C标准。基于树的层次,其优点是可以移植,编程容易,开发人员只需要调用建树的指令。缺点是加载大文件不理想。

    SAX是基于事件模型的,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag时候,他可以激活一个回调方法,告诉该方法制定的标签已经找到。类似与流媒体的解析方式,所以在加载大文件的时候效果不错。

    JDOM是想成为Java特定文档模型。简化与XML的交互并且比使用DOM实现更快。使用的是具体类不使用借口,运用大量的Collection类,方便程序员。To provide a complete, Java-based solution for accessing, manipulating, and outputting XML data from Java code.

    DOM4J是一个独立的开发结果,非常优秀的Java XML API, 具有性能优异、功能强大和极端易用的特点,同时是一个开源工具。

    2. 原因
    DOM4J性能最好,连Sun的JAXM也在用DOM4J。目前许多开源项目中大量采用DOM4J,例如Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J.

[list]
DOM4J使用
1. 方法列表

创建SAX解析器,以便通过解析器将XML转换成DOM4J树形模型。
//SAXReader creates a DOM4J tree from SAX parsing events.
//The actual SAX parser that is used by this class is configurable so you can use your favourite SAX parser if you wish. 事实上本类所使用的SAX解析器是可以配置的,因此可以选择你钟爱的SAX解析器。
//DOM4J comes configured with its own SAX parser so you do not need to worry about configuring the SAX parser. DOM4J来配置自己的SAX解析器,因此你不必要担心如何配置SAX解析器了。
new SAXReader();


SAXReader提供了读取File文件的方法,更多方法见源码。
//Reads a Document from the given File.
//We cannot convert the file to an URL because if the filename contains '#' characters, there will be problems with the URL in the InputSource
read(File file)


DOM4J Document提供了获取根节点方法
//Returns the root Element for this document.
Element org.dom4j.Document.getRootElement()


获取根元素名称
//getName returns the name of this node. This is the XML local name of the element, attribute, entity or processing instruction. For CDATA and Text nodes this method will return null.
String org.dom4j.Node.getName()


通过名称获取元素
//Returns the first element for the given local name and any namespace.
Element org.dom4j.Element.element(String name)


获取直接子元素对象List
//Returns the elements contained in this element. If this element does not contain any elements then this method returns an empty list. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case. 
List org.dom4j.Element.elements()


获取元素文本
//Returns the text value of this element without recursing through child elements. This method iterates through all Text, CDATA and Entity nodes that this element contains and appends the text values together.
String org.dom4j.Element.getText()


其它方法略(如取得元素属性、增加、删除元素等方法),详情参看源码
2. 实例
下载jar包,见Reference [1]



    Reference
    1. http://sourceforge.net/projects/dom4j/
    2. http://www.w3.org/DOM/
    3. http://jdom.org/
分享到:
评论

相关推荐

    cmd-bat-批处理-脚本-Screenshot.zip

    cmd-bat-批处理-脚本-Screenshot.zip

    升\降压电路的自计算表格 及 公式表达

    公式主要来自于德州仪器的datasheet 以及 一些电路公式表达式

    2025年自动检测生产线项目大数据研究报告.docx

    2025年自动检测生产线项目大数据研究报告.docx

    cmd-bat-批处理-脚本-deactivate.zip

    cmd-bat-批处理-脚本-deactivate.zip

    cmd-bat-批处理-脚本-happy05 1.zip

    cmd-bat-批处理-脚本-happy05 1.zip

    基于MATLAB的单相光伏并网逆变器仿真研究

    在单相光伏逆变器相关领域,涉及诸多关键环节。首先,光伏系统建模是基础,其中光伏板作为能量来源,其特性建模至关重要。最大功率点跟踪(MPPT)技术用于确保光伏板输出功率最大化,而Boost升压电路则负责将光伏板输出的较低电压提升至适合逆变器处理的水平。在控制策略方面,电压电流双闭环控制是实现稳定输出的关键,通过精确控制电压和电流,保证逆变器的性能。最终目标是使并网电流波形达到标准正弦波形,以满足电网接入要求。希望与大家深入交流这些内容,共同探讨技术细节与优化方案。

    cmd-bat-批处理-脚本-JoinDomain.zip

    cmd-bat-批处理-脚本-JoinDomain.zip

    cmd-bat-批处理-脚本-ppcp.zip

    cmd-bat-批处理-脚本-ppcp.zip

    最新修复版走路赚钱乐步2.0任务平台系统源码

    内附详细安装教程,亲测搭建无问题。 一、乐步交易流程----购买乐步糖果 方法一:在卖方市场选择合适的卖家或者用手机号定向查询特定卖家 步骤一:点击首页下方【交易中心】。 步骤二:点击【卖单列表】,选择合适的卖家或者用手机号搜索特定卖家,确定卖家之后点击该卖家后方的【购买】。 步骤三:点击之后,系统会显示该卖家的收款信息。按照系统显示的收款信息付款,(付款备注交易订单号)付款完成之后上传凭证,等待卖家确认收款并且支付糖果。 方法二:挂单买入糖果 步骤一:点击首页下方【交易中心】。 步骤二:点击【买单列表】--【发布买单】,填写购买糖果单价、数量、交易密码,点击【确定】,买单发布,等待匹配成交。 二、乐步交易流程----出售乐步糖果 方法一:在买方市场选择合适的买家或者用手机号定向查询特定买家 步骤一:点击首页下方【交易中心】。 步骤二:点击【买单列表】,选择合适的买家或者用手机号搜索特定买家,确定买家之后点击该买家后方的【出售】。 步骤三:点击之后,系统会提示买家付款,买家按照系统提示的账号给卖家付款(付款备注交易订单号),付款完成之后上传凭证,等待卖家确定并且支付糖果。 方法二:挂单卖出糖果 步骤一:点击首页下方【交易中心】。 步骤二:点击【卖单列表】--【发布卖单】,填写出售糖果单价、数量、验证码、交易密码,点击【确定】,卖单发布,等待匹配成交。

    多媒体技术及应用实验三(音视频编码转换软件开发)

    包括一个python源程序和一个.exe文件

    永磁同步电机速度环控制中的多种PID自整定技术及其应用 RBF神经网络

    内容概要:本文探讨了永磁同步电机(PMSM)速度环控制中多种PID自整定技术的应用,包括RBF神经网络PID、基于分解合并机制的RBF神经网络PID、基于小波神经网络的PID、粒子群算法优化PID、天牛须算法优化PID以及模糊PID自整定。每种技术都通过具体的数学模型和代码片段进行了详细的解释,旨在提升PMSM速度环控制的精度和效率。 适合人群:从事电机控制系统研究和开发的技术人员,尤其是对PID自整定技术和智能算法感兴趣的工程师。 使用场景及目标:适用于需要改进现有PMSM速度环控制系统的场合,目标是通过引入先进的PID自整定技术,提高系统的响应速度、稳定性和鲁棒性。 其他说明:文中不仅介绍了各种技术的基本原理,还提供了部分Python代码示例,帮助读者更好地理解和实践这些方法。同时,强调了不同技术之间的对比和优势,便于读者根据实际情况选择最合适的技术路径。

    桔子云测评小程序V1.1.1+前端.zip

    桔子云测评小程序,做专业测评系统小程序平台,支持微信小程序和抖音小程序,为网友提供心理测试,帮助你更好地了解自己的兴趣、性格、能力等特点,找到适合自己的成长之路。 盈利模式 流量主、激励视频解锁、单独付费测评、VIP会员付费等 功能特色 1、支持定义3种题型:单题型、多题型、 有因子多题型 2、 因子题型支持算法自定义分析 3、答案支持单独自定义分享海报 4、IOS端可设置联系客服索取激活码付费方式 5、支持量表导入 6、支持跳转其他小程序 7、支持分销推广 版本号:1.1.1 – 多开商业版 【修复】添加项目出现分类串联问题 【修复】快速测试出现结果错误问题 【优化】重新测试体验流程 toutiao前端、微信前端都需要提交审核

    2025年职称计算机考试题型及大纲.doc

    2025年职称计算机考试题型及大纲.doc

    cmd-bat-批处理-脚本-TV no signal color bars.zip

    cmd-bat-批处理-脚本-TV no signal color bars.zip

    实证数据-2009-2023上市公司-绿色治理绩效数据-社科经管.rar

    该数据集为2009-2023年中国上市公司绿色治理绩效(GGP)面板数据,覆盖1557家上市公司,数据来源于华证ESG评级、上市公司年报及社会责任报告等公开披露信息。核心指标包括污染物排放达标/未达标得分、突发环境事故、环境违法事件、ISO14001认证情况等12项环境治理指标,采用Janis-Fadner系数法计算综合绩效值(GGP),反映企业在环境合规、绿色运营及社会责任履行等方面的表现。数据经学术团队整理校验,参考《管理世界》等期刊的测度方法,可直接用于ESG表现、绿色创新等领域的实证研究。部分样本包含财务指标匹配数据,便于多维度分析。

    基于GJO-TCN-BiGRU-Attention的Matlab多变量时间序列预测算法及应用 BiGRU Matlab源码与数据集:GJO-TCN-BiGRU-Attention金豹算法优化多变量时间

    内容概要:本文介绍了利用Matlab实现的基于GJO-TCN-BiGRU-Attention算法的时间序列预测方法。该方法结合了时间卷积网络(TCN)、双向门控循环单元(BiGRU)以及注意力机制,用于多变量时间序列预测。文中详细描述了模型架构的设计思路及其各部分的功能,如TCN层用于捕捉长期依赖关系,BiGRU处理双向时序特征,而注意力层则赋予不同特征不同的权重。此外,还探讨了参数优化的方法——采用金豹优化(GJO)算法调整学习率、神经元数目、注意力机制的关键参数等超参数,并提供了完整的源代码和数据集。实验结果显示,该模型在电力负荷预测任务中表现出色,相比单一模型提升了大约8个百分点。 适用人群:对时间序列预测感兴趣的科研工作者、研究生及以上水平的数据科学家和技术爱好者。 使用场景及目标:适用于需要进行高精度多变量时间序列预测的应用场合,比如能源管理系统的负荷预测、金融市场趋势分析等领域。目标是提高预测准确性,降低误差。 其他说明:文中提到一些实践经验,例如避免TCN层数过多导致梯度爆炸的问题,推荐使用RobustScaler进行数据标准化处理,以及选择合适的序列滑窗长度等技巧。

    二十四节气之立秋节气介绍.pptx

    二十四节气之立秋节气介绍.pptx

    cmd-bat-批处理-脚本-FAA Program.zip

    cmd-bat-批处理-脚本-FAA Program.zip

    cmd-bat-批处理-脚本-lookup.zip

    cmd-bat-批处理-脚本-lookup.zip

    stm32CAN总线的源码例子

    stm32CAN总线的源码例子

Global site tag (gtag.js) - Google Analytics