XML的学习总结

前言: 好记性不如烂笔头,对于零碎的知识最好可以记录和总结,方便以后查看。不然,总是从头学习,浪费时间。

一 XML是什么

XML(eXtensible Markup Language,可扩展的标记语言),主要用于保存数据。、

二、XML和HTML的异同点

相同点:都是标签;
不同点:xml无预定义标签,反之html有许多预定义标签 (注:html也可以自定义标签,点击查看如何定义);html用于显示信息,xml用于保存数据、传输数据等;

(了解内容)针对xml保存数据的作用,展开来说,有以下用途:
(1)java程序的配置描述文件
(2)用于保存程序产生的数据
(3)用于网络间数据传输(例如soap协议,作用应该是类型http的报文)

三 XML文档结构

1. 第一行必须是XML声明

说明XML文档的基本信息,包含版本号和字符集,如下所示:

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

version属性说明了xml的版本是1.0(值还可以是1.1,区别点击这里查看
encoding属性说明了xml文档的编码。

2. 有且仅有一个根节点
3 标签书写规则同html

四、XML标签书写规则

  • 合法的标签名
      使用英文单词,单词之间用连字符“-”,
  • 适当的注释和缩进
  • 合理使用属性
  • 特殊字符与CDATA标签
      有些字符的使用,如“<”、“>”等,会破坏文档结构,需要使用实体引用;
实体引用对应符号
&lt;<
&gt;>
&amp;&
&apos;’ 单引号
&quot;"双引号

如果有大量特殊字符,可以使用CDATA标签,表示标签中未纯文本数据,使用如下:

<![CDATA[
<h1> hello world</h1>
]]>
  • 有序的子元素

五、XML语义约束

语义约束定义了XML中标签的“语义”,即可以出现哪些标签、标签有哪些属性、标签可以定义的子标签有哪些及子标签的数量、标签的内容是子标签还时文本等等。可以这样理解,html是官方预定义标签,而xml通过语义约束自定义标签。使得xml是有效的。

语义约束有两种,DTD和Schama

1. DTD语义约束
DTD(Document Type Definition 文档类型定义) 是一种简单易用的语义约束方式。其文件扩展名是.dtd。
hr.dtd

<!ELEMENT hr (employee+)>   定义跟hr元素至少包含一个employee元素;
<!ELEMENT employee(name,age,salary,department)>
<!ATTLIST emplayee no CDATA">
<!ELEMENT name(#PCDATA)>

hr(empleyee) 包含一个employee元素
hr(employee+)包含一个或者多个,即至少一个
hr(employee*) 包含0个或者多个
hr(employee?)包含0个或者一个

XML文档中引用DTD文件的方式

本地文件,dtd位于本地
<DOCTYPE 根结点 SYSTEM “文件名,包含路径”>

hr.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE hr SYSTEM "hr.dtd">
<!-- 人力资源管理系统-->
<hr>
    <employee>
        <name>Bob</name>
        <age>18</age>
        <salary>3000</salary>
        <department>
            <dname>dev</dname>
            <address>WuHan</address>
        </department>
    </employee>
</hr>

本地DTD约束,可以从声明看出dtd文件也属于xml

<?xml version="1.0" encoding="UTF-8" ?>
<!ELEMENT hr (employee*)>
<!ELEMENT employee (name, age, salary, department)>
<!ATTLIST employee no CDATA "000">
<!ELEMENT name (#PCDATA)>
<!ELEMENT  age (#PCDATA)>
<!ELEMENT salary (#PCDATA)>
<!ELEMENT  department (dname, address)>
<!ELEMENT dname  (#PCDATA)>
<!ELEMENT  address (#PCDATA)>
2. Schema约束 (美 /ˈskiːmə/)
W3C规范
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月几时有666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值