Java:使用DOM4j来实现读写XML文件中的属性和元素
DOM4可以读取和添加XML文件的属性或者元素
读取属性:
public static void ReadAttributes() throws DocumentException {
File file = new File("D:\\cmz\\java\\XMLTest\\Customertest.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(file);
Element root = doc.getRootElement();
try {
for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
Element element = (Element) iterator.next();
String CustomerID = element.attributeValue("CustomerID");
System.out.println("CustomerID = " + CustomerID);
String CompanyName = element.attributeValue("CompanyName");
System.out.println("CompanyName = " + CompanyName);
System.out.println("ContactName = "
+ element.attributeValue("ContactName"));
System.out.println("ContactTitle = "
+ element.attributeValue("ContactTitle"));
System.out.println("Address = "
+ element.attributeValue("Address"));
System.out.println("City = " + element.attributeValue("Cit阿y"));
System.out.println("PostalCode = "
+ element.attributeValue("PostalCode"));
System.out.println("Country = "
+ element.attributeValue("Country"));
System.out
.println("Phone = " + element.attributeValue("Phone"));
System.out.println("Fax = " + element.attributeValue("Fax"));
System.out
.println("--------------------------------------------------------\t");
}
} catch (Exception e) {
// TODO: handle exception
}
}
读取元素:
public static void ReadInnerTest() throws DocumentException {
File file = new File("D:\\cmz\\java\\XMLTest\\Customer1.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(file);
Element root = doc.getRootElement();
try {
for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
Element type = (Element) iterator.next();
System.out.println(type.elementText("CustomerID"));
System.out.println(type.elementText("CompanyName"));
System.out.println(type.elementText("ContactName"));
System.out.println(type.elementText("ContactTitle"));
System.out.println(type.elementText("Address"));
System.out.println(type.elementText("City"));
System.out.println(type.elementText("PostalCode"));
System.out.println(type.elementText("Country"));
System.out.println(type.elementText("Phone"));
System.out.println(type.elementText("Fax"));
System.out.println("---------------------------------\t");
}
} catch (Exception e) {
// TODO: handle exception
}
}
写入属性:
public static void WriteAttributes() {
Document doc = DocumentHelper.createDocument();
Element ele = doc.addElement("table");
for (int i = ; i < ; i++) {
Element Customers = ele.addElement("Customers");
Customers.addAttribute("CustomerID", "ALFKI" + i);
Customers.addAttribute("CompanyName", "Alfreds Futterkiste" + i);
Customers.addAttribute("ContactName", "Maria Anders" + i);
Customers.addAttribute("ContactTitle", "Sales Representative" + i);
Customers.addAttribute("Address", "Obere Str. 57");
Customers.addAttribute("City", "beijin");
Customers.addAttribute("PostalCode", "");
Customers.addAttribute("Country", "Germany");
Customers.addAttribute("Phone", "030-0074321");
Customers.addAttribute("Fax", "030-0076545");
try {
XMLWriter writer = new XMLWriter(new FileWriter(new File(
"Customertest.xml")));
writer.write(doc);
writer.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}
写出元素:
public static void writeInnerTest(){
Document doc = DocumentHelper.createDocument();
Element ele = doc.addElement("table");
for (int i = ; i < ; i++) {
Element Customers = ele.addElement("row");
Element CustomerID = ele.addElement("CustomerID");
CustomerID.setText("ALFKI" + i);
Element CompanyName = ele.addElement("CompanyName");
CompanyName.setText("Alfreds Futterkiste" + i);
Element ContactName = ele.addElement("ContactName");
ContactName.setText("Maria Anders" + i);
Element ContactTitle = ele.addElement("ContactTitle");
ContactTitle.setText("Sales Representative" + i);
Element Address = ele.addElement("Address");
Address.setText("Obere Str. 57");
Element City = ele.addElement("City");
City.setText("beijin");
Element PostalCode = ele.addElement("PostalCode");
PostalCode.setText("");
Element Country = ele.addElement("Country");
Country.setText("Germany");
Element Phone = ele.addElement("Phone");
Phone.setText("030-0074321");
Element Fax = ele.addElement("Fax");
Fax.setText("030-0076545");
}
try {
XMLWriter writer = new XMLWriter(new FileWriter(new File(
"Customertest2.xml")));
writer.write(doc);
writer.close();
} catch (Exception e) {
// TODO: handle exception
}
}
可以修改属性的文本内容:
public static void ReadUpdateattribute() throws DocumentException{
File file = new File("D:\\cmz\\java\\XMLTest\\Customertest.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(file);
Element root = doc.getRootElement();
try {
for (Iterator iterator = root.elementIterator("Customers"); iterator.hasNext();) {
Element element = (Element) iterator.next();
String name = "ALFKI1";
if (name.equals(element.attributeValue("CustomerID")) ) {
Attribute attr = element.attribute("CustomerID");
attr.setValue("");
Element ContactName = element.addElement("");
ContactName.setText("" );
}
}
XMLWriter writer = new XMLWriter(new FileOutputStream(file));
writer.write(doc);
ReadAttributes();
} catch (Exception e) {
// TODO: handle exception
}
}
Java:使用DOM4j来实现读写XML文件中的属性和元素的更多相关文章
- C#程序中:如何删除xml文件中的节点、元素。
C#中动态的清理xml文件中的垃圾信息是程序员必会的哦.这就像数据库一样,不会清理数据怎么可以呢?其实xml文件就可以用作一个小的数据库,存储一些简单的信息.所以,用C#程序实现xml文件的增.删.改 ...
- vue项目中使用bpmn-流程图xml文件中节点属性转json结构
内容概述 本系列“vue项目中使用bpmn-xxxx”分为七篇,均为自己使用过程中用到的实例,手工原创,目前陆续更新中.主要包括vue项目中bpmn使用实例.应用技巧.基本知识点总结和需要注意事项,具 ...
- Java 使用Dom4j和JFileChooser实现xml文件的自主选择路径导出
直接来个简单的例子,大家一看便知. Document doc=DocumentHelper.createDocument();//创建document Element rootElement=doc. ...
- Java从入门到精通——技巧篇之利用dom4j取出XML文件中的数据
在我们做项目的时候会经常用到XML文件用来配置系统,XML让系统更加的具有了灵活性,Java如何从XML中取出我们想要的数据呢?下面是我利用DOM4J来实现取出XML文件中的数据. XML文件 < ...
- web.xml文件中的7个错误的安全配置
web.xml文件中的7个错误的安全配置 关于Java的web.xml文件中配置认证和授权有大 量 的 文章.本文不再去重新讲解如何配置角色.保护web资源和设置不同类型的认证,让我们来看看web.x ...
- C#程序中:如何修改xml文件中的节点(数据)
要想在web等程序中实现动态的数据内容给新(如网页中的Flash),不会更新xml文件中的节点(数据)是远远不够的,今天在这里说一个简单的xml文件的更新,方法比较基础,很适合初学者看的,保证一看就懂 ...
- DirectUI界面编程(三)从XML文件中加载界面
Duilib支持xml界面布局,使得界面设计与逻辑处理相分离,本节介绍如何从xml文件中加载界面元素. 我们需要以下几个步骤: 创建并初始化CPaintManagerUI对象. 创建CDialogBu ...
- Java 读写XML文件 API--org.dom4j
om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...
- java通过dom读写xml文件
java通过dom读写xml文件 要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册 ...
随机推荐
- Day 2 Python 基础数据类型
2.os.path.join()函数 语法: os.path.join(path1[,path2[,......]]) 返回值:将多个路径组合后返回 注:第一个绝对路径之前的参数将被忽略 1 2 3 ...
- IAP远程在线升级
IAP远程在线升级 在上一篇中实现了LWIP网口通讯,那么肯定要加个在线升级功能,这个功能所占用的资源很少,但在物联网中很重要也很实用.在线升级就是像手机一样,先下载好系统,然后点击升级~然后就没然后 ...
- elasticsearch Geo Bounding Box Query
Geo Bounding Box Query 一种查询,允许根据一个点位置过滤命中,使用一个边界框.假设以下索引文档: PUT /my_locations { "mappings" ...
- Google 团队效能研究 | 为什么雇用最聪明的人是远远不够的?
简评:Google 的一项团队效能研究结果,可能会让你重新认识如何建立一个优秀的团队. Google 的搜索业务可能最为人所知,但 Google 可不仅仅有搜索业务,它可能还是最擅于大数据研究的公司之 ...
- 奇怪的Java题:为什么1000 == 1000返回为False,而100 == 100会返回为True?
如果你运行如下代码: 1 2 3 4 Integer a = 1000, b = 1000; System.out.println(a == b);//1 Integer c = 100, d = ...
- php语法分析
php的语法分析的主要作用是验证词法分析的基础上将token组成的序列,在php这门语言中是否是一个有效的句子,也可以理解为这些token序列是否匹配设计php这门语言时的语法模型,在匹配的情况下构建 ...
- UIScrollView之isTracking delaysContentTouches canCancelContentTouches
UIScrollView有一个BOOL类型的tracking属性,用来返回用户是否已经触及内容并打算开始滚动,我们从这个属性开始探究UIScrollView的工作原理: 当手指触摸到UIScrollV ...
- h5移动端聊天室|仿微信界面聊天室|h5多人聊天室
今年的FIFA世界杯甚是精彩,最近兴致高涨就利用HTML5开发了一个手机端仿微信界面聊天室,该h5聊天室采用750px全新伸缩flex布局,以及使用rem响应式配合fontsize.js,页面弹窗则是 ...
- Spark之Scala学习
1. Scala集合学习: http://blog.csdn.net/lyrebing/article/details/20362227 2. scala实现kmeans算法 http://www.t ...
- postman—集成到jenkins
前言 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 将postman导出的脚本,持续集成到 ...