XML_DOM4J_20200415
package com.wy.xml;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* xml解析:读取
* @author Dnmngge
*
*/
public class XmlTest {
public static void main(String[] args) throws Exception {
//1、创建SAXReader对象用于读取xml文件
SAXReader reader = new SAXReader();
//2、读取xml文件,得到Document对象
Document doc = reader.read(new File("src/scores2.xml"));
//3、获取根元素
Element root = doc.getRootElement();
//4、获取根元素下所有子元素
Iterator<?> it = root.elementIterator();
while(it.hasNext()) {
//取出元素
Element e = (Element) it.next();
System.out.println(e.getName());
//获得id属性
Attribute id = e.attribute("id");
System.out.println(id.getName()+"="+id.getValue());
//获取student的子元素
Element name = e.element("name");
Element course = e.element("course");
Element score = e.element("score");
//打印
System.out.println(name.getName()+"="+name.getStringValue());
System.out.println(course.getName()+"="+course.getText());
System.out.println(score.getName()+"="+score.getText());
System.out.println("--------------");
}
}
}
package com.wy.xml;
import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* xml解析:创建
* @author Dnmngge
*
*/
public class XmlTest2 {
public static void main(String[] args) throws Exception {
//1、通过DocumentHelper生成一个Document对象
Document doc = DocumentHelper.createDocument();
//2、添加并得到根元素
Element root = doc.addElement("books");
//3、为根元素添加子元素
Element book = root.addElement("book");
//4、为book元素添加属性
book.addAttribute("id", "No.1");
//5、为book添加子元素
Element name = book.addElement("name");
Element author = book.addElement("author");
Element price = book.addElement("price");
//6、为子元素添加文本
name.addText("java从入门到放弃");
author.addText("负能量");
price.addText("1000");
//7、格式良好的输出
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(
new File("src/book2.xml")), format);
writer.write(doc);
//8、释放资源
writer.close();
}
}
XML_DOM4J_20200415的更多相关文章
随机推荐
- vim多视窗操作
命令行模式下输入:sp 1.txt 打开新的水平分屏视窗来编辑1.txt 命令行模式下输入:vsp 2.txt 打开新的垂直分屏视窗来编辑2.txt 普通模式下Ctrl+w s 将当前窗口分割成两个水 ...
- 一、mysql基础
说明:学习视频参考尚硅谷--康师傅 第一章.数据库概述 1.为什么使用数据库?why? 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数 ...
- CSC落榜
2021年5月31日21:00点,CSC公布结果,未通过.看到这,我感觉空气瞬间凝固,窒息,那一瞬间我无比平静,我以为我会哭,但是,却泣不成声,脑中第一时间想到得是,如何面对认识得人,全世界感觉都知道 ...
- CICD中一个巨头--jenkins
持续化集成,发布离不开CICD,CICD中有最重要的一个程序就是jenkins,本章主要讲jenkins部署和建立项目任务 jenkins的出现,大大的提高了代码上线问题,通过图中可以看出,开发人员通 ...
- WPF使用MaterialDesign开源控件库
在WPF控件效果这一块,很显然比winfrom要好很多,但想要做出真正好看的控件,我个人觉得还是需要用一些已有的东西比较好,比如MaterialDesign,控件种类多,自带很多图标,上手比较容易,还 ...
- ORACLE 创建只读用户
create user cxuser01 identified by test123 default tablespace USERS temporary tablespace TEMP; --创建 ...
- 动态路由里,将component字符串改变为路由懒加载方法
一.import写法 报错 function loadPageByRoutes(str) { // 传入的str为 '@/views/Home.vue' 这种格式 return () => im ...
- Vue全局方法配置
在Vue项目开发中,肯定会有这样一个场景:在不同的组件页面用到同样的方法,比如格式化时间,文件下载,对象深拷贝,返回数据类型,复制文本等等.这时候我们就需要把常用函数抽离出来,提供给全局使用.那如何才 ...
- ARC(Automatic Reference Counting)自动引用计数 unowned、weak 使用区别
自动引用计数 引用类型(类.函数.闭包) 当声明一个变量指向某个引用类型时 当前引用类型的引用计数就会加1 当变量不指向该类型时 引用类型就会 -1 当引用计数为0时 当前引用类型就会被系统回收 i ...
- Unity Random
Random 不仅可以随机值,还可以随机其它属性,用了这么久,刚知道... 譬如: rotation 随机Rotation onUnitSphere 球体表面随机点 insideUnitCircl ...