java 相对路径_java后端学习--XML

一,XML是什么

a) xml, eXtensible Markup Language, 可扩展标记语言.是一种标记语言.

b) xml 是一种非常灵活的语言, 没有固定的标签, 所有的标签都可以自定义.

c) 通常, xml 被用于信息的记录和传递. 因此, xml 经常被用于充当配置文件.

二,XML特点

a) 声明信息, 用于描述xml 的版本和编码方式

b) xml 有且仅有一个根元素

c) xml 是大小写敏感的

d) 标签是成对的, 而且要正确嵌套

e) 属性值要使用双引号

三,XML示例(内部规定版本)

<?xml version="1.0" encoding="utf-8" ?>

第一行相当于说明这个文件是一个xml文件,类似于html页面的

<!DOCTYPE html>

第二行 <!DOCTYPE books [

相当于一个紧箍咒,规定了XML文件中根标签,以及子标签的格式

!ELEMENT规定:标签的儿子都有谁

!ATTLIST规定:标签的里面的属性的名称和值类型

具体可以参考菜鸟教程网站xml的内容

还有一种相对于内部规定的做法就是外部规定

328b8633fb90584b5d8ad8d1ffcdbaa5.png

四,DTD

a) DTD, Document Type Definition, 文档类型定义

b) DTD 用于约束xml 的文档格式, 保证xml 是一个有效的xml.

c) DTD 可以分为两种, 内部DTD, 外部DTD

写一个简单的DTD看看

<?xml version="1.0" encoding="utf-8" ?>
        <!ELEMENT books (book+)>
        <!ELEMENT book (name,author,price)>
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT author (#PCDATA)>
        <!ELEMENT price (#PCDATA)>
        <!ATTLIST book id CDATA #REQUIRED>

其实就是把上面写的约束部分放到一个单独的文件而已

其作用也就是限制住xml文件的格式而已

五,XSD

XML Schema 是 DTD 的继任者,叫做XML Schema Definition

与 DTD 不同,XML Schema 支持数据类型(data type)和命名空间(namespace)。

具体也不是很懂.用到了就去百度吧

六,利用到xml的地方

  1. spring配置文件
  2. mybatis的配置文件:SqlMapConfig.xml,xxxDao.xml配置文件
  3. 有时候有一些sdk利用xml来传输参数,或者传输返回值
<!DOCTYPE configuration

楼上这个就是mybatis的约束

七,针对xml的增删改查

这里就要用到dom4j的jar包

a8bf60cbe6fe58d9390c1e49a2a80d4e.png

查询xml

296d3ecc80ca75ea34fd746c56ab84ce.png

增加xml

a2892ec0781ce8667675f01cc84cab28.png

八/额外的知识点

默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性 user.dir指定,通常是Java 虚拟机的调用目录.”相对路径顾名思义,相对于某个路径,那么究竟相对于什么路径我们必须弄明白.按照上面jdk文档上讲的这个路径是”当前用户目录”也就是"java虚拟机的调用目录”.更明白的说这个路径其实是我们在哪里调用jvm的路径

idea的module会省略掉中间的那一级的文件夹名称 真是坑

如果是java se的话,就要用这个命令去试

9dc371b04c1179774d141b03885535ab.png

九,个人总结

用的时候不多,但是值的了解一下

可以把xml理解成json或者map或者java对象,有很多key-value.

但是有一定的格式规定.

第一次写,先试试水,以后慢慢完善

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值