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文件的操作简单的了解。以后再深入学习。明天加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值