欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【达内课程】XML介绍

程序员文章站 2022-03-26 12:36:06
...

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介绍

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

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

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

【达内课程】XML介绍

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

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

浏览器查看效果
【达内课程】XML介绍

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介绍

命名空间

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

相关标签: xml