XML

163 阅读2分钟

XML介绍

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据
  • XML 标签没有被预定义。需要我们自行定义标签。
  • XML 被设计为具有自我描述性
  • XML 是 W3C 的推荐标准

使用场景

  • 用来做项目或者模块的配置文件【主要作用
  • 数据交换【已被JSON替代】

语法规则

  • 第一行用了定义xml文件的,写版本号和字符集
<?xml version="1.0" encoding="UTF-8"?>
  • 对大小写敏感
  • 标签不能交叉嵌套使用,以下son和dog进行嵌套就会报错
<parent>
    <son>
        <dog>
    </son></dog>
</parent>

  • 双标签必须要以什么开头,什么结束

  • 不数字开头,只能以字母或下划线开头;

  • 只能有一个根标签;

  • 严格区分大小写   

  • 一个标签不能有两个相同属性(属性名随便定义)

        属性直接写在头标签内,格式:属性名="属性值"

  • 特殊符号需要转义 或者可以放到CDATA区   html特殊符号,转义符号
  • 编码格式统一:

        1.开发环境:项目环境、系统环境 

        2.当前文件内encoding字符集

   

  • 不能以xml(或者XML,Xml等)开头W3C保留日后使用;

     例如:最好不要使用 xml:xx</xml: xx>W3C保留以后在使用

  • 名称字符之间不能有空格或者制表符; 例如<四川   省>
  • 名称字符之间不能使用冒号;xml:xx</xml: xx>

dtd约束

可以理解为他告诉XML,必须遵守它的规则,使用一个关键字ELEMENT来声明XML
创建:new-->file-->以.dtd结尾

  • 语法
<!--先定义一个根标签Users-->
<!ELEMENT Users (User)>
<!ELEMENT User (name,age,sex,money)>
<!--可以有一个文本类型的值-->
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!--可以为任意类型-->
<!ELEMENT sex (ANY)>
<!--主体元素为空-->
<!ELEMENT money (EMPTY)>
  • 定义子元素和他们之间的关系

如果子元素用逗号分开,说明必须按照声明顺序去编写XML文档。
如果子元素用“|”分开,说明任选其一。
用+、*、?来表示元素出现的次数
如果元素后面没有+*?:表示必须且只能出现一次
+:``表示至少出现一次,一次或多次
*``:任意次。表示可有可无,零次、一次或多次
?:``表示可以有也可以无,有的话只能有一次。零次或一次
&lt,小于符号 &gt:大于符号

引用dtd约束

写在XML开头位置

<?xml version="1.0" encoding="UTF-8" ?>
<!--文档类型DOCTYPE 根目录 在本机的约束 约束的文件名-->
<!DOCTYPE Users SYSTEM "user.dtd">