XML简介

XML

(此文章仅为菜鸟教程的学习心得,仅涉及基础知识)

XML全称为extensible Markup language

  • 自描述的
  • 允许对文档内容进行检验
  • 可以使用XML开发各种行业的专有标记语言
  • 通用性
  • 开放性

简介

  • XML 是独立于软件和硬件的信息传输工具。

  • 只是用来传送和结构化存储数据,而非显示数据。不能做任何事情。

    <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>
    
  • 标签未被预定义,需自定义标签。

用途

  • XML把数据从HTML中分离。通过JavaScript代码读取XML文件,更新网页数据内容。
  • XML以纯文本存储,简化数据共享。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9F7tmX0-1619408467107)(C:\Users\yinlu\AppData\Roaming\Typora\typora-user-images\image-20210401100701461.png)]

在上面的示例中,<note>即为根元素,接下来四行为子元素,最后一行定义根元素结尾。

XML文件中必须包含根元素,该元素是其他所有元素的父元素。所有的元素都可以有子元素:

所有的元素都可以有文本内容和属性(类似 HTML 中)。

元素语法

  • 元素名称、属性名称和其他语言类似

  • 元素嵌套与HTML一致

  • 注释同HTML

  • 特殊字符

  • 所有元素都必须有关闭标签,但声明没有标签。

    <?xml version="1.0" encoding="utf-8"?>
    
  • 标签对大小写敏感。

  • 属性值必须加引号

    <note date="12/11/2007">
    ......
    </note>
    
  • 实体引用。

    (eg.解析器会把所有的“<”当做新元素的开始)

    &lt;<less than
    &gt;>greater than
    &amp;&ampersand
    &apos;`apostrophe
    &quot;"quotation mark
  • 空格

    在xml中,文档中的空格不会删减。

  • 换行

    回车符(CR)和换行符(LF)

属性与元素

  • 元数据:有关数据的数据。应当存储为属性,数据应当存储为元素。

    有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方式与 HTML 中 id 属性是一样的。如下:

    <messages>
    <note id="501">
    ......
    </note>
    <note id="502">
    ......
    </note>
    </messages>
    

    以上的 id 属性仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分。

  • 具体操作时尽量避免使用属性,用元素代替

xml验证

通过DTD验证的xml合法。

  • 可以使用外部文件

    <!DOCTYPE note SYSTEM "Note.dtd">
    
  • XML Schema(一种基于XML的DTD的替代者)

Schema

  • XML Schema 是基于 XML 的 DTD 替代者。
  • XML Schema 可描述 XML 文档的结构。
  • XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。
<xsd:simpleType name="系别列表">
    <xsd:restriction base="xsd:string">
        <xsd:enumeration value="中文系"/>
        <xsd:enumeration value="计算机系"/>
        <xsd:enumeration value="数学系"/>
            </xsd:enumeration>
</xsd:simpleType>
<xsd:attributeGroup name="全名">
    <xsd:attributeGroup name="" type="xsd:string" use ="required"/>
    <xsd:attribute name="" type="xsd:string"/>
</xsd:attributeGroup>

Schema对应的XML案例

XSLT

  • XSL(EXtensible Stylesheet Language)是一个xml文档的样式表语言。
  • XSLT指XSL转换。

大多数的浏览器都会仅仅把 XML 文档显示为源代码。所以我们使用xslt将xml转化为HTML格式。

DTD

DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

以上 DTD 解释如下:

  • !DOCTYPE note (第二行)定义此文档是 note 类型的文档。
  • !ELEMENT note (第三行)定义 note 元素有四个元素:“to、from、heading,、body”
  • !ELEMENT to (第四行)定义 to 元素为 “#PCDATA” 类型
  • !ELEMENT from (第五行)定义 from 元素为 “#PCDATA” 类型
  • !ELEMENT heading (第六行)定义 heading 元素为 “#PCDATA” 类型
  • !ELEMENT body (第七行)定义 body 元素为 “#PCDATA” 类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值