JavaWeb之认识XML

XML(Extensible Markup Language)

特点

  • XML与操作系统、编程语言的开发平台无关

  • 实现不同系统之间的数据交换

作用

数据交互

配置应用程序和网站

Ajax基石

标签编写注意事项

  • 所有XML元素都必须有结束标签
  • XML标签对大小写敏感
  • 必须有正确的嵌套
  • 同级标签缩进对齐
  • 元素名称可以包含字母,数字或其他字符,不能以数字或标点符号开始
  • 元素名称中不能含空格

XML转义字符表

符号转义符
<& lt;
>& gt;
"& quot;
& apos;
&& amp;

当元素中出现很多特殊字符时,可以使用CDATA

​ 1.扩展性
​ 2.语义,数据表示,存储,交互

​ 通过约定----进行约束----数据交换
​ DTD | Schame

?:0或1

​ *:任意个 == 0或多个

+:至少一个 1或多个

|:或者

ANY

EMPTY

<!--声明-->
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE 公司 [
	<!ELEMENT 公司 (研发部,人事部)>
	<!ELEMENT 研发部 (项目经理,员工)>
	<!ELEMENT 人事部 (部门经理,员工)>
	<!ELEMENT 部门经理 (#PCDATA)>
	<!ELEMENT 项目经理 (#PCDATA)>
	<!ELEMENT 员工 (#PCDATA)>
]>
<!--
  <!DOCTYPE 公司 [
	<!ELEMENT 公司 (研发部,人事部)>
	<!ELEMENT 研发部 (项目经理?,员工*,场地)>
	<!ELEMENT 人事部 (部门经理,员工+,联系方式)>
	<!ELEMENT 部门经理 (#PCDATA)>
	<!ELEMENT 项目经理 (#PCDATA)>
	<!ELEMENT 员工 (#PCDATA)>
	<!ELEMENT 联系方式 (电话|QQ)>
	<!ELEMENT 电话 (#PCDATA)>
	<!ELEMENT QQ (#PCDATA)>
	<!ELEMENT 场地 ANY>
	<!ELEMENT 负责人 EMPTY>  
  ]>
-->
<!--树形结构:一个根节点-->
<公司>
	<研发部>
		<项目经理>周瑜</项目经理>
		<员工>黄盖</员工>
	</研发部>
	<人事部>
		<部门经理>曹操</部门经理>
		<员工>司马懿</员工>
	</人事部>	
</公司>

XML文档内容由一系列标签元素组成
-属性值由" "包裹
-一个元素可以有多个属性
-属性值不能直接包含 < " &...
demo03.dtd
<?xml version="1.0" encoding="UTF-8"?>
	<!ELEMENT 公司 (研发部,人事部)>
	<!ELEMENT 研发部 (项目经理?,员工*,场地)>
	<!ELEMENT 人事部 (部门经理,员工+,联系方式)>
	<!ELEMENT 部门经理 (#PCDATA)>
	<!ELEMENT 项目经理 (#PCDATA)>
	<!ELEMENT 员工 (#PCDATA)>
	<!ELEMENT 联系方式 (电话|QQ)>
	<!ELEMENT 电话 (#PCDATA)>
	<!ELEMENT QQ (#PCDATA)>
	<!ELEMENT 场地 ANY>
	<!ELEMENT 负责人 EMPTY> 


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 公司 SYSTEM "demo03.dtd">
<公司>
	<研发部>
		<项目经理>周瑜</项目经理>
		<员工>黄盖</员工>
		<场地>
			<负责人/>
		</场地>
	</研发部>
	<人事部>
		<部门经理>曹操</部门经理>
		<员工>司马懿</员工>
		<员工>司马懿</员工>
		<联系方式>
			<电话>12333333</电话>
		</联系方式>
	</人事部>	
</公司>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books [
	<!ELEMENT books (author*,book*)>
	<!ELEMENT book (name,price?,img?)>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT price (#PCDATA)>
	<!ELEMENT img EMPTY>
	<!ELEMENT author EMPTY>
	<!ATTLIST book
			ISBN CDATA "1008"
			press (清华大学出版社|宝鸡大学出版社)  "宝鸡大学出版社"
			id ID #REQUIRED 
			auth IDREF #IMPLIED 
	>
	
	<!ATTLIST img
			src CDATA  #REQUIRED 
			width CDATA #IMPLIED 
			height CDATA #FIXED "200"
	>
	<!ATTLIST author
			name ID #REQUIRED
	>
	
]>
<!--  #REQUIRED  必填 
	  #IMPLIED 可有可无
	  #FIXED 默认 必须是指定的固定值
	  ID  唯一,赋值规范。不能数字开头
	  IDREF    引用其他ID类型取值
 -->
<books>
	<author name="张三"/>
	<author name="李四"/>
	
	
	<book id="s1001" press="清华大学出版社" auth="张三">
		
		<name>Java实战应用</name>
		<price>45</price>
		<img src="3.jpg" height="200"/>
	</book>
	<book id="s1002">
		<name></name>
	</book>
	<book id="s1003">
		<name>Java实战应用</name>
		<price>45</price>
	</book>
</books>

#REQUIRED 必填

#IMPLIED 可有可无

#FIXED 默认 必须是指定的固定值

ID 唯一,赋值规范。不能数字开头

IDREF 引用其他ID类型取值

#PCDATA用于节点内容的描述

CDATA用于属性的描述

<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="auth" type="xs:IDREF"/>

属性唯一ID类型 type="xs:ID"  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值