【达内课程】XML介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010356768/article/details/81901392

http://www.w3school.com.cn/xml/index.asp

XML语法规则

所有XML元素必须有关闭元素
XML标签对大小写敏感
XML必须正确嵌套
XML文档必须有根元素,且只有一个根元素
XML的属性必须加引号

XML中的注释

<!-- -->

实体引用

在assets下新建一个books.xml

<?xml version="1.0" encoding="utf-8"?>
    <books>
        <book lan="en">
            <isbn>ABC-135-4BC</isbn>
            <name>十万个为什么(1)</name>
            <price>100</price>
            <author>Dr.          Lee</author>
        </book>
         <book lan="en">
            <isbn>ABC-136-4BC</isbn>
            <name>十万个为什么(2)</name>
            <price>200</price>
            <author>Dr.Lee</author>
        </book>
          <book lan="en">
            <isbn>ABC-137-4BC</isbn>
            <name>十万个为什么(3)</name>
            <price>300</price>
            <author>Dr.Lee</author>
        </book>
    </books>

用浏览器查看
这里写图片描述

在源码中我们的多个空格被浏览器显示为了一个

在 XML 中,有 5 个预定义的实体引用:

&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; 单引号
&quot; 引号

这里写图片描述

如果想写小于号,会报错,我们就用到了预定义的实体引用
可以这样写

    <author>Dr.&lt;Lee</author>

浏览器查看效果
这里写图片描述

XML 命名规则

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

CDATA

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data

在 XML 元素中,”<” 和 “&” 是非法的。

“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。

“&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。

某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:
 <book lan="en">
            <isbn>ABC-135-4BC</isbn>
            <name>十万个为什么(1)</name>
            <price>100</price>
            <author>Dr.&lt;Lee</author>
            <![CDATA[
                这是一本好书!<<<<
            ]]>
        </book>

浏览器效果
这里写图片描述

命名空间

XML 命名空间提供避免元素命名冲突的方法
http://www.w3school.com.cn/xml/xml_namespaces.asp

DTD

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用
假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:

<!DOCTYPE 根元素 [元素声明]>

带有 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)>
]>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

用于定义XML文档的编写格式
在DTD文档中我们定义XML包含哪些标签,标签中可以包含哪些属性,属性值的一些限制等
http://www.w3school.com.cn/dtd/dtd_examples.asp

Schema

XML Schema 是基于 XML 的 DTD 替代者。

XML Schema 描述 XML 文档的结构

http://www.w3school.com.cn/schema/schema_example.asp

猜你喜欢

转载自blog.csdn.net/u010356768/article/details/81901392
今日推荐