JavaWeb-XML

1.常见的配置文件

1.1 properties

数据库的连接就使用properties文件作为配置文件,properties文件中的配置信息是以键值对的形式存储的。

java 复制代码
beiluo.jdbc.url=jdbc:mysql://localhost:3306/beiluo
beiluo.jdbc.driver=com.mysql.cj.jdbc.Driver
beiluo.jdbc.username=root
beiluo.jdbc.password=root

1.2 XML

  • XML是Extensible Markup Language的缩写,即可扩展标记语言。XML与HTML一样都是标记语言,所以基本语法都是标签。
  • 可扩展意思是标签的名称可以是自定义的,但不代表可以随便写。
  • XML在Java中常用于配置文件。我们不需要从头到尾的写XML文件,而是在第三方应用程序、框架已提供好的配置文件的基础上修改。
  • 在XML基本语法规范的基础上,使用的第三方应用程序、框架会通过XML约束的方式强制规定配置文件中可以写什么和怎么写。
  • XML文件的文档声明必须放在文件的第一行。
  • XML是有约束的,约束限定了XML文件内能编写的内容。有了约束之后,就不能随意自定义标签。在编写XML文件时,会有标签提示。有两种约束:
    • dtd约束:简单、上手快,但约束不够细致。
    • schema约束:复杂、上手慢,但约束细致。.xsd结尾的就为schema约束。
xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>

<jdbc>
    <username>root</username>
    <passwoerd>root</passwoerd>
    <driver>com.mysql.cj.jdbc.Driver</driver>
    <url>jdbc:mysql://localhost:3306/beiluo</url>
</jdbc>

1.3 YAML

SpringBoot就是用YAML作为配置文件。

1.4 json等

json文件通常用于做文件传输,也可以用来做前端或移动端的配置文件。

还有一些其他的配置文件。

2. DOM4J进行XML解析

2.1 DOM4J使用步骤

  • 导入jar包,dom4j.jar。
  • 创建解析器对象(SAXReader)。
  • 解析XML获得Document对象。
  • 对Document对象进行访问和操作。

2.2 API介绍

java 复制代码
@Test
    //要用Test注解,类名就不能为Test
    public void test() throws DocumentException {
        //创建SAXReader对象
        SAXReader saxReader = new SAXReader();
        //通过类加载器获得指向字节码根路径下的指定文件的输入流
        InputStream inputStream = TestDOM4J.class.getClassLoader().getResourceAsStream("jdbc.xml");
        //通过输入流获得document对象
        Document document = saxReader.read(inputStream);
        //由document对象获得根标签
        Element rootElement = document.getRootElement();
        //输出根标签的标签名
        System.out.println(rootElement.getName());
        //得到所有子节点
        List<Element> elements = rootElement.elements();
        //遍历子元素
        for(Element ele : elements){
            System.out.println("\t" + ele.getName());
            Attribute idAttribute = ele.attribute("id");
            System.out.println("\t\t" + idAttribute.getName() + ":" + idAttribute.getValue());
            List<Element> eles = ele.elements();
            for (Element childElement : eles) {
                System.out.println("\t\t\t" + childElement.getName() + ":" + childElement.getText());
            }
        }
    }
相关推荐
海绵波波1072 小时前
Qt操作主/从视图及XML——实例:汽车管理系统
xml·qt·汽车
CHICX12298 小时前
【Hadoop】改一下core-site.xml和hdfs-site.xml配置就可以访问Web UI
xml·大数据·hadoop
胡耀超21 小时前
知识图谱入门——8: KG开发常见数据格式:OWL、RDF、XML、GraphML、JSON、CSV。
xml·json·知识图谱·csv·owl·graphml·gml
编程、小哥哥1 天前
手写mybatis之Mapper XML的解析和注册使用
xml·java·mybatis
极客先躯3 天前
Hadoop-HDFS-core-site.xml,hdfs-site.xml,yarn-site.xml,krb5.conf 都是做什么的?
xml·运维·hadoop·hdfs
MarcoPage4 天前
第 30 章 XML
xml
OEC小胖胖4 天前
XPath基础知识点讲解——用于在XML中查找信息的语言
xml·java·javascript·xpath
不拱地的猪5 天前
想知道为什么有DICOM格式,YAML格式,XML格式,JSON格式吗?
xml·java·c++·opencv·json
CV-King5 天前
python实用脚本(二):删除xml标签下的指定类别
xml·开发语言·人工智能·python·opencv
emmm4595 天前
XML与JSON的用法与区别
xml·json