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"?><学生花名册 ...
随机推荐
- 面向对象进阶-类的内置方法 __str__ 、__repr__、__len__、__del__、__call__(三)
# 内置的类方法 和 内置的函数之间有着千丝万缕的联系# 双下方法# obj.__str__ str(obj)# obj.__repr__ repr(obj) # def __str__(self): ...
- Python 将一个已知的 utc时间字符串 转换为东八区时间
先获取一个utc格式的时间 utc_time = datetime.datetime.utcnow() print(utc_time) 输出 2018-06-24T08:59:39Z 这里我们假设目前 ...
- 队列(链式队列)----C语言
链式队列----用链表实现,链式队列就是一个操作受限的单向链表,如果读者了解单向链表的建立过程,那理解链式队列就很容易了,先回顾一下单向链表的建立过程 (不熟悉单向链表的可以先看看另一片随笔,再回来看 ...
- Educational Codeforces Round 34 (Rated for Div. 2) C. Boxes Packing
C. Boxes Packing time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- Sublime Text 格式化JSON-pretty json
1.安装install package 按control + `,打开命令输入框 输入一下命令: import urllib2,os; pf='Package Control.sublime-pack ...
- zookeeper基本操作
理解Zookeeper的一种方法是将他视为一个提供高可用性的文件系统.它没有文件和目录,但是有一个统一概念的节点,叫做znode,作为数据以及其他znode的容器.znode来自于一个层次级的命名空间 ...
- centos7修改默认运行级别的变化
在学习centos7,视频教学中使用的的centos6,查看权限文件命令为 cat /etc/inittab/ 但是在centos7中输入以下命令会出现这种情况 这个已经不用了,现在修改权限的命令修改 ...
- 【hdu4609】 3-idiots FFT
题外话:好久没写blog了啊-- 题目传送门 题目大意:给你m条长度为ai的线段,求在其中任选三条出来,能构成三角形的概率.即求在这n条线段中找出三条线段所能拼出的三角形数量除以$\binom{m}{ ...
- django 高级
1.使用form: django的form提供了统一的结构化的后台验证机制,错误信息,也容易展现在前台界面上.由于python的面向对象,使得编写html也能够代码复用. a.多个field 综合验证 ...
- [经验]微信开放平台,一个APP secret可以绑定一个APP,然后再绑定一个ipad 版本APP
微信开放平台,一个APP secret可以绑定一个APP,然后再绑定一个ipad 版本APP