dom4j读取XML文件内容

转载自  dom4j读取XML文件内容

<?xml version="1.0" encoding="UTF-8"?>
<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>

以上是一个XML文件的小例子。

 

代码如下:

import java.io.File;
import java.io.IOException;
import java.util.Iterator;import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class testXML {public static void main(String[] args) {// TODO Auto-generated method stubtry {File file = new File("E:\\luna_workspace\\JsoupStudy\\XML数据文件\\testData.xml");SAXReader reader=new SAXReader();//读取xml文件到Document中Document doc=reader.read(file);//获取xml文件的根节点Element rootElement=doc.getRootElement();//定义一个Element用于遍历
            Element fooElement;//遍历所有名叫“VALUE”的节点for(Iterator i=rootElement.elementIterator("VALUE");i.hasNext();){fooElement=(Element)i.next();System.out.println("车牌号:"+fooElement.elementText("NO"));System.out.println("地区:"+fooElement.elementText("ADDR"));}System.out.println(rootElement.toString());} catch (Exception e) {// TODO: handle exception
            e.printStackTrace();}}}

以下是一些dom4j的常用操作:

以下是相关操作:

一.Document对象相关

1.读取XML文件,获得document对象.
            SAXReader reader = new SAXReader();
            Document  document = reader.read(new File("input.xml"));

2.解析XML形式的文本,得到document对象.
            String text = "<members></members>";
            Document document = DocumentHelper.parseText(text);
3.主动创建document对象.
            Document document = DocumentHelper.createDocument();
            Element root = document.addElement("members");// 创建根节点
二.节点相关

1.获取文档的根节点.
Element rootElm = document.getRootElement();
2.取得某节点的单个子节点.
Element memberElm=root.element("member");// "member"是节点名
3.取得节点的文字
String text=memberElm.getText();
也可以用:
String text=root.elementText("name");这个是取得根节点下的name字节点的文字.

4.取得某节点下名为"member"的所有字节点并进行遍历.
List nodes = rootElm.elements("member");

for (Iterator it = nodes.iterator(); it.hasNext();) {
   Element elm = (Element) it.next();
   // do something
}
5.对某节点下的所有子节点进行遍历.
            for(Iterator it=root.elementIterator();it.hasNext();){
                Element element = (Element) it.next();
                // do something
            }
6.在某节点下添加子节点.
Element ageElm = newMemberElm.addElement("age");
7.设置节点文字.
ageElm.setText("29");
8.删除某节点.
parentElm.remove(childElm);// childElm是待删除的节点,parentElm是其父节点
三.属性相关.
1.取得某节点下的某属性
            Element root=document.getRootElement();    
            Attribute attribute=root.attribute("size");// 属性名name
2.取得属性的文字
            String text=attribute.getText();
也可以用:
String text2=root.element("name").attributeValue("firstname");这个是取得根节点下name字节点的属性firstname的值.

3.遍历某节点的所有属性
            Element root=document.getRootElement();    
            for(Iterator it=root.attributeIterator();it.hasNext();){
                Attribute attribute = (Attribute) it.next();
                String text=attribute.getText();
                System.out.println(text);
            }
4.设置某节点的属性和文字.
newMemberElm.addAttribute("name", "sitinspring");
5.设置属性的文字
            Attribute attribute=root.attribute("name");
            attribute.setText("sitinspring");
6.删除某属性
            Attribute attribute=root.attribute("size");// 属性名name
            root.remove(attribute);

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我为什么用docker-compose来打包开发环境

BUILD, SHIP, RUNDocker is the world’s leading software containerization platform Docker的出现&#xff0c;让虚拟技术更上一个台阶。更有Docker Hub作为docker images的市场载体&#xff0c;让全世界分享你的成果。 建议使用Docker for Mac(10.10.3) 或 Docker for Wind…

微型计算机使用键盘上的alt键称为,微型计算机使用的键盘上的Alt键称为_____。...

摘要&#xff1a;须牢盒安光缆固、微型装必整齐接头&#xff0c;信线规定《通路工程验范》收规&#xff0c;作伸必须两侧缩(。在交)米越时为(&#xff0c;微型信光)规途通缆线路工定《长程验范》收规。小净火栓光缆米架空距消距为的最&#xff0c;计算机使键盘t键信光)规途通缆…

java使用htmlparser提取网页纯文本例子

转载自 java使用htmlparser提取网页纯文本例子这篇文章主要介绍了java使用htmlparser提取网页纯文本例子,需要的朋友可以参考下package com.test; import org.htmlparser.Node; import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.filt…

java实现打印等腰三角形

package cn.jbit.nestedloops; import java.util.Scanner; /*** 输入行数打印等腰三角形*/ public class IsoTriangle {public static void main(String[] args) {int rows 0; //三角形行数System.out.print("请输入等腰三角形的行数&#xff1a;");Scanner input …

在.NET Core中使用MySQL5.7的JSON类型字段

Getting Started ① Adding pomelo myget feed into your NuGet.config which located in your solution root. <?xml version"1.0" encoding"utf-8"?><configuration><packageSources><add key"nuget.org" value"h…

中南大学计算机网.doc,中南大学计算机网络实验报告.doc

计算机网络实验报告0909122820周建权第第 PAGE \* MERGEFORMAT 1 页 共 NUMPAGES \* MERGEFORMAT 11 页计算机网络实验报告专业班级&#xff1a;信安1202班指导老师&#xff1a;王伟平姓 名&#xff1a;周建权学 号&#xff1a;0909122820实验二 网络路由层协议模拟实验网络路由…

Java实现HTML代码生成PDF文档

转载自 Java实现HTML代码生成PDF文档1、IText实现html2pdf&#xff0c;速度快&#xff0c;纠错能力差&#xff0c;支持中文&#xff08;要求HTML使用unicode编码&#xff09;&#xff0c;但中支持一种中文字体&#xff0c;开源。 2、Flying Sauser实现html2pdf&#xff0c;纠…

java实现九九乘法表的输出

package cn.jbit.nestedloops; /*** 打印九九乘法表*/ public class MulTable {public static void main(String[] args) {int rows 9; //乘法表的行数for(int i 1; i<rows; i){ //一共9行for(int j 1; j < i; j){ //第i行有i个式子System.out.print(j"*&q…

成人教育计算机统考分数查询江苏省,江苏省教育考试院查询

阅读本文前&#xff0c;请您先点击上面的蓝色字体&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅&#xff0c;请放心关注。注&#xff1a;本文转载自网络&#xff0c;不代表本平台立场&#xff0c;仅供读者参考&…

分布式系统事务一致性解决方案大对比,谁最好使?

“ 在分布式系统中&#xff0c;同时满足“一致性”、“可用性”和“分区容错性”三者是不可能的。分布式系统的事务一致性是一个技术难题&#xff0c;各种解决方案孰优孰劣&#xff1f; 老司机介绍 丁浪&#xff0c;现就职于某垂直电商平台&#xff0c;担任技术架构师。关注高并…

使用Java将HTML转成Word格式文件

转载自 使用Java将HTML转成Word格式文件 import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException;import org.apache.poi.poifs.filesystem.DirectoryEntry; import org.apache.poi.poifs.filesystem.Docum…

java百钱白鸡的算法

package cn.jbit.nestedloops;public class Chook {/*** 百钱买百鸡*/public static void main(String[] args) {int way 1; //买法int k 0; //雏鸡数for(int i1;i<20;i){ //公鸡数for(int j1;j<33;j){ //母鸡数k 100-i-j; //一共100只鸡if(k%3 0 && (5*i3…

.NET Core 工具遥测(应用信息收集)

说明&#xff1a;本文是个人翻译文章&#xff0c;由于个人水平有限&#xff0c;有不对的地方请大家帮忙更正。原文&#xff1a;.NET Core Tools Telemetry翻译&#xff1a;.NET Core 工具遥测&#xff08;应用信息收集&#xff09; .NET Core 工具遥测&#xff08;应用信息收集…

Jsoup学习总结

转载自 Jsoup学习总结摘要 Jsoup是一款比较好的Java版HTML解析器。可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API&#xff0c;可通过DOM&#xff0c;CSS以及类似于jQuery的操作方法来取出和操作数据。 jSOUP主要功能 从一个URL&#xff0c;文件或字符串中…

计算机发展阶段的划分是以什么作为标志,计算机以什么划分发展阶段

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。计算机是以电子元件来划分发展阶段的&#xff0c;即四个发展阶段&#xff0c;这就是人们通常所说的电子管、晶体管、集成电路、超大规模集成电路等四代。集成电路(integrated circui…

docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅

.net猿遇到了小鲸鱼&#xff0c;觉得越来越兴奋。本来.net猿只是在透过家里那田子窗看外面的世界&#xff0c;但是看着海峡对岸的苹果园越来越茂盛&#xff0c;实在不想再去做一只宅猿了。于是&#xff0c;.net猿决定搭上小鲸鱼的渡轮到苹果园去看看。 .net猿上了小鲸鱼渡轮就先…

jsoup解析HTML用法小结

转载自 jsoup解析HTML用法小结使用HttpClientjsoup做采集器有一段时间了&#xff0c;发现jsoup很好用&#xff0c;而且还有很多方便的东西都没怎么用上。于是想根据官网上的cookbook来对jsoup的使用做个小结&#xff0c;或者是归纳。按功能分类做个列表&#xff0c;方便在写程…

java实现打印菱形

package cn.jbit.nestedloops; import java.util.Scanner; /*** 输入行数打印菱形*/ public class Diamond {public static void main(String[] args) {int rows 0; //菱形的行数Scanner input new Scanner(System.in);System.out.print("请输入菱形行数&#xff1a;&qu…

计算机二级vf上机试题,2016年计算机二级《VF》上机题及答案

2016年计算机二级《VF》上机题及答案二、综合应用题11设计一个表单名和文件名均为“bd2”的表单&#xff0c;所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为“外币市值情况”。表单中有一个文本框、一个表格和两个命令按钮“查询”和“关闭”。运行表单时&…

微软HTTP API指南

微软发布了创建“RESTful” API的指南。Roy Fielding将这些与REST没有多大关系的API称为HTTP API。 许多组织都发布了创建面向Web的HTTP API的建议&#xff0c;甚至是白宫都发布了一份标准——“白宫Web API标准”。近日&#xff0c;微软公开了他们的“微软REST API指南2.3”&a…