XML 可扩展的标记语言
1 标记语言
作用:创建一个文档 (文本文档)
特点 <字符> </字符>
好处: 可以准确的表达出数据的含义(概念)
2 可扩展的标记语言 XML
可以自己定义标记的名字
XML w3c组织定义 XML 语法
1 扩展名 .xml 结尾
2 引入头标签 <?xml version="1.0" encoding="" ?>
默认UTF-8
3 xml标签名字可以自己定义 ,并且成对出现
<标签名> </标签名>
4 标签可以嵌套
5 把XMl标签结构可以看成一颗树
a)把外层标签 看成父标签 节点 元素
b)把嵌套内层的标签 子标签 节点 元素
c) 每一个XML文件只有一个父标签
6 标签结束时 进行匹配
7 标签可以添加属性
<p name="xx" >suns</p>
''
<account type="个人储蓄账户"></account>
<account type="个人信用账户"></account>
8 空标签
指的是标签体内部没有数据
表达方式
<name></name>
<name/>
不是空标签
<name>
</name>
----------------------------------------
1) 定义XMl 标签名字(属性) 命名的规范
a)字符
b) _
c) -
d) .
e)数字
只能用字符或者_充当标签名字开始
2) 内置实体
> > greater than
< < less than
"" "
' '
<
<年龄> age > 30 </年龄>
3) CDATA块
<![CDATA[
if(name=='A')
System.out.println("hello");
]]
<teacher>
<name>suns</name>
<age>23</age>
<code>
<![CDATA[
if(name=='A')
System.out.println("hello");
]]
</code>
</teacher>
----------------------------------------
.xml
1 xml 隔绝病毒
2 xml ---java
程序筛选
.doc
.xml文件
个人基本信息
教育经历
工作经历
----------------------------
xml 文件 良构 良好的结构
xml 中 在程序中使用
IBM 过滤
<姓名></姓名>
<name></name>
XML 会对XML文件出现的标签 进行约束 限定
IBM
<name></name>
<age></age>
XML 标签内容限定文件
DTD
.dtd 创建 document type define
通过非 XML标签的方式 进行限定
dtd 限定 比较简单的限定
SCHEMA
.xsd 创建 XML Schema Define
通过 XML标签的方式 进行限定
schema 限定 复杂限定
-----------------------------------------
DTD 语法
<!ELEMENT root (#PCDATA)>
<root>
xxxx
<a></a>
</root>
ValidateDTD.java
a) javac ValidateDTD.java
前提 .xml .dtd --- java程序放置同一目录
b) java ValidateDTD xxx.xml
dtd
1) 定义.dtd 文件
<!ELEMENT root (#PCDATA)>
标签内容 必须是文本 不能含有子标签
<!ELEMENT root EMPTY>
标签内容 是空
<!ELEMENT root ANY>
标签的内容 任意值
<!ELEMENT root (a)>
<root>
<a></a>
</root>
<!ELEMENT root (a,b)>
定义多个标签 而且一,顺序决定
<!ELEMENT root (a|b)>
a b或者关系
<!ELEMENT root (a*)>
root内部 可以包含 0---多个 a标签
<!ELEMENT root (a?)>
root内部 可以包含 0或者1 a标签
<!ELEMENT root (a+)>
root内部 可以包含 1--多个 a标签
<! ELEMENT root ((a,b)*|(a|b)+)
-----------------------------------------------
<root name=""></root>
<! ATTLIST 标签名字 属性名 属性类型 属性默认值>
1 <! ELEMENT root EMPTY>
2 <! ATTLIST root name CDATA #REQUIRED >
属性类型
CDATA --- 文本内容
NMTOKEN --- 文本内容 5中字符
. - _ 字符 数字
<! ATTLIST root name NMTOKEN #REQUIRED >
ID ---- 5种字符 _ 字符开头
<! ATTLIST root name ID #REQUIRED >
IDREF
<! ATTLIST a name IDREF #REQUIRED>
枚举
<! ATTLIST a name (sun|xiao) #REQUIRED>
属性默认值
#REQUIRED 必须存在
#IMPLIED 可有可无
#FIXED "suns" 固定值
2) xml使用
<!DOCTYPE root SYSTEM "文件的路径">
1 w3c 申请 公开标示符
2 DTD 放置网络
<!DOCTYPE root PUBLIC "公开标示符" "url">
-------------------------------
AccountDAO
public void save(Account account){
创建一个文件
PrintWriter out.print(<account>
<accountName>xxx<
<password
<blance>
</account
}
xml文件
xml java程序 解析
读