JAVA基础之XML
前言
今天学习了XML这种标记语言。记录一下。
一、XML
XML是一种标记语言。通过前后端传输数据的一种方式。但现在用JSON比较多。也介绍一部分关于XML的知识。
XML文件有很强的规则性。
必须声明XML头文件。
示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
1.XML的操作
Dom4j解析方式使用 :
1.下载jar包
2.项目下新家文件夹lib,将jar包放入lib路径
3.选中jar包,右键 add as lib....
4.在java代码中进行解析使用
读取配置文件中的内容
修改
删除
新增
写出
创建
遍历配置文件中的标签内容 :
1.构建SAXReader输入流
2.加载XML文件,获取到一个Document实例
3.根据Document,遍历所有的标签,内容,属性...
示例代码如下:
public class Class_01_Xml {
public static void main(String[] args) throws DocumentException {
//构建流
SAXReader re = new SAXReader();
//加载指定文件
Document document = re.read("src/com/yjx/Outman.xml");
//获取标签
Element element = document.getRootElement();
System.out.println(element.getName());
//遍历所有标签
List<Element> list = element.elements();
list.forEach(element1 -> {
//输出遍历到的根标签
System.out.println(element1.getName());
//遍历所有标签元素
Iterator<Element> iterator = element1.elementIterator();
while (iterator.hasNext()) {
Element element2 = iterator.next();
System.out.println(" "+element2.getName()+"--->"+element2.getText());
}
});
}
}
2.XML的删、改操作
XML文件
示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<Outman>
<DiJia>
<name>迪迦</name>
<personname>大古的儿子</personname>
</DiJia>
<DaNa>
<name>戴拿</name>
<personname>飞鸟</personname>
</DaNa>
</Outman>
示例代码如下:
public class Class_02_Xml {
public static void main(String[] args) throws DocumentException, IOException {
Write(repalce(getDocument("src/com/yjx/Outman.xml")),"src/com/yjx/Outman.xml");
}
//获取Document对象
public static Document getDocument(String path) throws DocumentException {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(path);
return document;
}
//删除与修改
public static Document repalce(Document document) {
//获取父元素
Element element = document.getRootElement();
//获取要删除的子元素
List<Element> list = element.elements();
list.forEach(element1 -> {
//删除
if ("GaYa".equals(element1.getName())) {
element.remove(element1);//直接删除父元素标签
}
//修改
if ("DiJia".equals(element1.getName())) {
element1.element("personname").setText("大古的儿子");//修改的是子元素的某个标签
}
}
);
return document;
}
//写出
public static void Write(Document document,String path) throws IOException {
//1.构建输出流 XMLWriter
XMLWriter rt = new XMLWriter(new FileOutputStream(path), OutputFormat.createPrettyPrint());
//2.写出
rt.write(document);
//3.刷出
rt.flush();
//4.关闭
rt.close();
}
//输出
public static void print(Document document) {
Element element = document.getRootElement();
System.out.println(element.getName());
//遍历所有标签
List<Element> list = element.elements();
list.forEach(element1 -> {
//输出遍历到的根标签
System.out.println(element1.getName());
//遍历所有标签元素
Iterator<Element> iterator = element1.elementIterator();
while (iterator.hasNext()) {
Element element2 = iterator.next();
System.out.println(" " + element2.getName() + "--->" + element2.getText());
}
});
}
}
总结
XML文件的操作简单的了解。以后再深入学习。明天加油。