XML 指可扩展标记语言(eXtensible Markup Language

XML 被设计用来传输和存储数据。几乎所有语言都支持XML。

现在的XML是两个版本1.0,2.0。http://www.w3.org/TR/xml-c14n2/

目前的写法还是<?xml version='1.0' ?>

在平常的工作中用XML也就是交换数据格式、然而在webservice上会经常性的用到它、所以认真的自学一遍,并写出总结笔记。

<?xml version="1.0" ?>
<students>
    <student>
        <id>100</id>
        <name>李四</name>
    </student>
</students>

xml第一点:只有一个根元素(即:顶层元素)students,不能有多个。

XML第二点:可以自定义标签。

XML第三点:标签是成对出现的、有开始有结束。代码规范非常严格。元素嵌套关系要保持正确性。

<?xml version="1.0" ?>
<students>
    <student>
        <id>100</id>
        <name>李四</name>
    </student>
    <student>
        <id>100</id>
        <name>李四</name>
    </student>
</students>

这种格式是正确合法的。根元素是保函所有元素的元素。

XML第四点:与HTML对比,XML描述的是文档的内容与语义是结构化数据,而不是文档应当如何显示样式。

XML第五点:XML是自描述的语言。

XML的优越性

  1. 信息共享
  2. 数据传递
  3. 数据重用
  4. 可扩展
  5. 文档保函语义
  6. 树形结构面向对象编程

XML的声明

<?xml version="1.0" encoding='utf-8' standalone="yes"?>

必须顶格写。?号前面不能有空格,如果不写encoding默认是utf-8(不用写),注意encoding和standalone的先后顺序。standalone="yes" 代表这个一个独立的XML文档、没有约束类型DTD、schema存在

XML标签的定义

XML标签里面可定义属性、中间要空格分开。和HTML一样

<?xml version="1.0" ?>
<students>
    <student gender="male" isHandsone="true">
        <id>100</id>
        <name>李四</name>
    </student>
</students>

同上文描述有开始和结束。XML严格区分大小写

XML修饰标签样式

XML如果要引入CSS需要执令<?xml-stylesheet type="text/css" href="hello.css"?>

定义CSS,hello.css文件

student{color:red;font-size: 24pt;}

执行结果

xml

XML的注释和正常的HTML一样声明、但不允许嵌套

必须<!– –>横线必须标准

<?xml version="1.0" encoding='utf-8' standalone="yes"?>
<students>
    <!-- test -->
    <student gender="male" isHandsone="true">
        <id>100</id>
        <name>李四</name>
        <score>50</score>
    </student>
    <student>
        <id>101</id>
        <name>张三</name>
        <score/>
    </student>
</students>

可以<score/>这种自结束写法(表示开始结束在一起)

特定的属性名不能重复(示例student标签里的gender属性)、属性值不能包含<,>,&特殊字符。

注意:注释内容中不要出现–;不要把注释放在标记中间;不要把注释放在标记中间;例如 >Tom;注释不能嵌套;可以在除标记以外的任何地方注释。

实体

作用:避免重复输入 –(变量)

内置实体 &lt; < 。&gt; > 。&amp; & 。&quot; ” 。&apos;

XML自定义实体语法

<!DOCTYPE 根元素[<!ENTITY 实体名”实体内容” ]>

引用已定义的实体:

&实体名;

<?xml version="1.0"?>
<!DOCTYPE company[
        <!ENTITY address "北京">
        <!ENTITY dongli "动力">
        ]>

<company>
    <name>&dongli;</name>
    <address>&address;</address>
</company>

页面输出结果为

<company>
<name>动力</name>
<address>北京</address>
</company>

CDATA节

用于把整段文本解释为纯字符数据而不是标记的情况。包含大量的<、>、&或者”、’字符。

CDATA节中的所有字符都会被当做元素字符数据、而不是XML标记

语法

<![CDATA[ …… ]]>可以输入任意字符( 除 ]]> 外 )也不能嵌套使用

<?xml version="1.0"?>
<!DOCTYPE company[
        <!ENTITY address "北京">
        <!ENTITY dongli "动力">
        ]>

<company>
    <![CDATA[
    <user>
    <pass>
    ]]>
    <name>&dongli;</name>
    <address>&address;</address>
</company>

页面输出结果

<company>
<![CDATA[ <user> <pass>  ]]>
<name>动力</name>
<address>北京</address>
</company>

文档类型定义 –DOCTYPE

文档类型声明,紧跟XML声明之后,包含所有实体声明

语法:

<?xml version="1.0" ?>
<!DOCTYPE 根元素标记名[
<!–实体声明 –>
]>

如上面的代码示例

XML元素语法总结

名称中可以包含字母、数字或者其他字符。

名称不能以数字开头

不能以XML/xml/Xml/…开头

名称中不能包含空格

名称中不能含冒号(注:冒号留给命名空间使用)

Last modification:January 7, 2020
如果觉得我的文章对你有用,请随意赞赏