XML学习(一)——简介

一、XML简介

XML 指可扩展标记语言(EXtensible Markup Language),在格式上与HTML类似,于html不同的是,xml并不是为了显示数据而是为了传输数据,同时也不具有固定的标签,标签全由用户自定义。XML 是独立于软件和硬件的信息传输工具。

这是一个xml的例子,用于描述一封信

<note>
	<to>Tove</to>
	<from>Jani</from>
	<heading>Reminder</heading>
	<body>Don't forget me this weekend!</body>
</note>

XML的功能:

  1. XML 把数据从 HTML 分离
  2. XML 简化数据共享
  3. XML 简化数据传输
  4. XML 简化平台变更
  5. XML 使您的数据更有用
  6. XML 用于创建新的互联网语言

总而言之,XML的通用性和便捷性为数据交互提供了大量的便利,适用于不同系统,不同平台之间的数据传输。

二、XML结构

XML采取了树的结构,XML将数据组织成为一棵树,DOM 通过解析 XML 文档,为 XML 文档在逻辑上建立一个树模型,树的节点是一个个的对象。这样通过操作这棵树和这些对象就可以完成对 XML 文档的操作,为处理文档的所有方面提供了一个完美的概念性框架。
例如:

<bookstore>
    <book category="COOKING">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
    <book category="CHILDREN">
        <title lang="en">Harry Potter</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="WEB">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
</bookstore>

在这里插入图片描述
由于DOM“一切都是节点(everything-is-a-node)”,XML树的每个 Document、Element、Text 、Attr和Comment都是 DOM Node。 DOM 实质上是一些节点的集合。由于文档中可能包含有不同类型的信息,所以定义了几种不同类型的节点,如:Document、Element、Text、Attr 、CDATASection、ProcessingInstruction、Notation 、EntityReference、Entity、DocumentType、DocumentFragment等。

三、XML元素、语法

1.声明

XML 声明文件的可选部分,如果存在需要放在文档的第一行,如下所示:
<?xml version="1.0" encoding="utf-8"?>

2.属性

例子:

<student id="100">
    <name>Tom</name>
</student>
  1. 属性值用双引号 " 或单引号 ’ 分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。
  2. 一个元素可以有多个属性
  3. 特定的属性名称在同一个元素标记中只能出现一次
  4. xml并不鼓励使用属性,因为可以用子元素来进行描述,用元素的优点在于可拓展,而属性并不支持扩展

3.元素

XML 元素指的是从开始标签直到结束标签的部分。

4.常见问题

  1. xml必须有闭合标签
  2. xml大小写敏感
  3. xml必须按照树结构正确嵌套
  4. xml的属性值要加引号
  5. 在使用特殊字符的时候要实体引用
    在这里插入图片描述
  6. 注释<!-- This is a comment -->

5.命名规范

XML 元素必须遵循以下命名规则:

  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格

四、XML验证

  1. 定义:拥有正确语法的 XML 被称为"形式良好"的 XML。通过 DTD 验证的XML是"合法"的 XML。
  2. 合法的 XML 文档是"形式良好"的 XML 文档,这也符合文档类型定义(DTD)的规则:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE note SYSTEM "Note.dtd">
    <note>
    	<to>Tove</to>
    	<from>Jani</from>
    	<heading>Reminder</heading>
    	<body>Don't forget me this weekend!</body>
    </note>
    
    DTD:
    <!DOCTYPE note[
    	<!ELEMENT note (to,from,heading,body)>
    	<!ELEMENT to (#PCDATA)>
    	<!ELEMENT from (#PCDATA)>
    	<!ELEMENT heading (#PCDATA)>
    	<!ELEMENT body (#PCDATA)>
    ]>
    
    Schema:DTD的代替者
    <xs:element name="note">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="to" type="xs:string"/>
    <xs:element name="from" type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    

四、XML样式

1.xml可以连接css

<?xml-stylesheet type="text/css" href="cd_catalog.css"?>

2.使用 XSLT 显示 XML

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值