概念
1.xml是一种可扩展的标记语言。
2.标记语言:是一种通过标签来描述数据的一门语言。
3.可扩展:标签的名字可以自己定义。
4.可以说xml文件是由标签组成,而标签是可以自定义的。

xml的作用
1.用于存储数据和传输数据。
2.作为软件的配置文件。

xml语法规则

java 写入配置文件 java配置文件xml_开发语言


java 写入配置文件 java配置文件xml_java 写入配置文件_02

在 XML 中,有 5 个预定义的实体引用:

&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; ’ 单引号
&quot; " 引号

当特殊符号太多时,可以使用CDATA区

<message><![CDATA[内容]]}></message>

解析xml文件

常见的DOM解析思想

1.把各个部分看作对应的对象。

2.会把xml文件全部加载到内存,为Document。

3.在内存中得到一个树形结构,然后获取对应的值。

java 写入配置文件 java配置文件xml_开发语言_03


绿色:Document对象 表示整个xml文件;蓝色:Element对象 表示所有标签;红色:Attribute对象 表示所有属性;紫色:Text对象 表示所有内容文本。Element,Attribute,Text对象都继承于 Node 对象常见解析工具

java 写入配置文件 java配置文件xml_xml_04


常用DOM4J

注意:DOM4J不是Java自带的所以要下载jar包

网址:https://dom4j.github.io/

xml解析代码示例

// 1.获取一个解析器对象
        SAXReader saxReader = new SAXReader();
        // 2.利用解析器把xml文件加载到内存中并返回一个文档对象
        Document document = saxReader.read(new File("xml\\myFirstXml.xml"));
        // 3.获取根标签
        Element rootElement = document.getRootElement();
        // 4.通过根标签获取student标签
        // elements():可以获取调用者所有的子标签,会把子标签放到一个集合中返回
        // elements(String s):获取指定所有子标签
        List<Element> studentElements = rootElement.elements("student");

        // 5.遍历集合得到每一个student标签
        for (Element element : studentElements) {
            // attribute()方法获取属性
            Attribute idAttribute = element.attribute("id");
            String id = idAttribute.getValue();

            // 获取name标签
            // element("标签名"):获取指定的子标签
            Element nameElement = element.element("name");
            // 获取这个标签的标签体中的内容
            String name = nameElement.getText();

            Element ageElement = element.element("age");
            String age = ageElement.getText();

            System.out.println(id + name + age);
        }