XML
XML文件是由很多标签组成的,而标签名是可以自定义的
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!-- 必须写在第一行第一列 /version="1.0" 这句话必须写 /encoding="UTF-8" 表示该XML文件应该用此编码打开(可不写) /standalone="yes" 是否依赖其他的xml文件yes/no(可不写) -->
<根标签> <!-- 每个XML有且只有一个根标签 -->
<abc d="1"> <!-- 标签可以定义属性,以空格分割 -->
<a>文本a</a>
<b>文本b</c>
<c>文本c</c>
<!--
在XML的文本<>&'"这些符号有特殊定义 需要用转义字符串
< == < (别忘了" ; ")
> == >
& == &
' == '
" == "
-->
</abc>
</根标签>
dtd
xml文件的约束文件 后缀 .dtd
简单元素: 没有子元素
复杂元素: 有子元素
dtd文件:
<!ELEMENT 根元素 (子元素)> <!-- 定义元素(标签) -->
<!ELEMENT 复杂元素 (子元素, 子元素)> <!-- 多个子元素可以使用','或'|'隔开 / ','定义子元素的顺序 / '|'表示子元素只能出现其中一个 / '?'零次或一次 / '+'一次或多次 / '*'零次或多次 / 不写:出现一次 -->
<!ELEMENT 简单元素 (#PCDATA)> <!-- EMPTY: 元素体为空 /ANY: 元素体可以为空也可以不为空 /PCDATA: 内容为字符串 -->
<!ELEMENT 简单元素 (#PCDATA)>
<!ATTLIST 元素 属性 属性类型 属性约束> <!-- 定义属性 //属性类型: CDATA: 字符串 //属性约束: #REQUIRED: 必须的 /#IMPLIED: 属性不必须 /#FIXED "abc": 属性值固定为 -->
xml文件引入 dtd 的三种方式:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
① <!DOCTYPE persons SYSTEM '路径'>
② <!DOCTYPE persons [
<!ELEMENT abcs (abc)>
<!ELEMENT abc (a, b, c)>
<!ELEMENT a (#PCDATA)>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
]>
③ <!DOCTYPE persons PUBLIC "dtd文件名称" "dtd文档URL">
schema
xml文件的约束文件 后缀 .xsd
schema约束文件也是一个xml文件符合xml的语法一个xml中可以引用多个schema约束文件
schema文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="唯一的URL地址"
elementFormDefault="qualified"
>
<element name="标签名"> <!-- 通过element定义元素 -->
<complexType> <!-- 当前元素是一个复杂元素 -->
<sequence> <!-- 里面的子元素必须按照顺序定义 -->
<element name="标签名" type="String"> <!-- name:属性名 /type:数据类型 -->
</element>
<element name="标签名" type="String" use="required"> <!-- (可选)default="默认值" /fixed="固定值" /use="required":必须定义 -->
</element>
</sequence>
</complexType>
</element>
</schema>
xml文件引入 schema:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<根标签
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="约束文件名称空间URL"
xsi:schemaLocation="名称空间URL 文件路径"
>
<></>
</根标签>
properties
由键值对组成
username=abc
password=abc
age=21
JSON
json可以理解成一个包含键值对的集合
键为 字符串 值为 字符串, 对象, 数组
{
"a" : "123",
"b" : {
"ba" : "321",
"bb" : "456"
},
"c" : ["123", "456", "789"]
}