JavaWeb XML

1、定义

EXtension markup language

XML:可扩展自定义标记语言

2、XML的存在意义和用法

XML存在约束,可以自定义但也存在书写规则,一般不需要逐行书写。

我们使用XML,只需要基于第三方应用程序和已提供框架的配置文件进行修改。

3、常见配置文件的类型

(1)properties

实例:

<username>root</username>

<password>root</password>

<driver>com.mysql.cj.jdbc.Driver</driver>

<url>jdbc:mysql//localhost:3300/atguigu</url>

书写规范:

1.以键值对的形式书写

2.键和值之间有等号

3.必须顶格书写,前面不能有空格符号

(2)XML

xml的语法:

①根标签只有一个

②第一行永远是*<?xml version="1.0" encoding="UTF-8"?>*不允许放任何东西

③xml是有约束的,约束用于限定xml内部能编写的内容

xml两种约束 :

dtd 简单 约束没有schema细致

schema 复杂 约束细致

补充:

标签名、属性名建议使用小写字母

  • 属性必须有值

  • 属性值必须加引号,单双都行

XML的文档声明,这部分基本上是固定格式,要注意的是:

文档声明一定要从第一行第一列开始写。

DOM4J进行XML的解析:

Jdbc.xml文件信息

XML 复制代码
<?xml version="1.0" encoding="utf-8" ?>  <!-第一行固定书写-->

<jdbc>

 <dev>

     <username>root</username>

     <password>root</password>

     <driver>com.mysql.cj.jdbc.Driver</driver>

     <url>jdbc:mysql//localhost:3300/atguigu</url>

 </dev>

   

</jdbc>

java代码展示:

java 复制代码
public class testDom4j {

    @Test

    public void test() throws Exception{

        //读取jdbc.xml的配置文件  获得document文件

        SAXReader saxReader=new SAXReader();

        //通过类加载器获得指向字节码根路径下的指定文件的输入流

        InputStream resourceAsStream = testDom4j.class.getClassLoader().getResourceAsStream("jdbc.xml");

        //通过输入流获取配置文件,解析成一个dom对象

        Document document=saxReader.read(resourceAsStream);

        //从document对象上获得配置文件中的信息



        Element rootElement = document.getRootElement();

        System.out.println(rootElement.getName());


        List<Element> elements=rootElement.elements();

        for (Element element:elements){

            System.out.println("\t"+element.getName());

            Attribute idAttribute = element.attribute("id");

            System.out.println("\t"+idAttribute.getName()+"="+idAttribute.getValue());

        }

    }

}

Node 节点:

Element 元素结点

Attribute 属性结点

Text 文本节点

总结:

XML是配置文件,用于存储一些配置信息,作用类似于properties。

相关推荐
SEO_juper11 小时前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
可爱系程序猿2 天前
XML 导入失败并指向 msxml6.dll:用最小样本区分解析错误与组件加载
xml·程序人生·电脑
SEO_juper3 天前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
步行cgn3 天前
Spring MVC 核心配置文件详解:springmvc.xml 每一行配置的意义
xml·spring·mvc
泡海椒4 天前
JQuick-SQL JQuickTable 模型:XML 动态 SQL 的表封装边界
xml·数据库·sql
supabc1235 天前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
zzu123zsw5 天前
当 GPU 加速渲染遇上无头组件:拆解 Yororen UI 在 GPUI 生态下的状态解耦与 XML 模板实践
xml·ui·rust·gui·gpui
麦序子6 天前
用 pdfplumber + 正则 解析工程量清单 PDF:提取项目编码、综合单价并导出 Excel
xml·pdf·python3.11
ha_lydms8 天前
Xml Functions(XML 函数)
xml·大数据·hadoop·spark·数据处理·dataworks·maxcompute
Eyfcom10 天前
〖实战〗跨境报关单证自动化:XML 报文生成、PDF 套打与单一窗口同步上传的工程实现
xml·pdf·自动化·报关单证·清关自动化