关于XML的学习

1.XML

1)为什么需要XML

2)XML用于解决什么问题

-现在主要用于做配置文件

3)一个简单的xml文件

<?xml version="1.0" encoding="utf-8" ?>
​
<!--
1.xml:表示该文件的类型 xml
2.version="1.0":版本
3.encoding="utf-8":指定文件的编码
4.students:root元素/根元素,只能存在一个,自己来决定
5.<student></student>:表示students一个子元素,可以有多个
6.id:就是属性 name、age、gender是student的子元素
-->
<students>
    <student id="01">
        <name>Tom</name>
        <gender>男</gender>
        <age>18</age>
    </student>
    <student id="02">
        <name>mary</name>
        <gender>女</gender>
        <age>19</age>
    </student>
</students>

4)xml的语法

(1).xml的结构(分为五个部分)
1.文档声明
<?xml version="1.0" encoding="utf-8" ?>

1)XNL声明放在XML文档的第一行

2)XML声明由如下几个部分组成;

3)version:文档符合XML1.0规范,我们学习1.0

4)encoding:文档字符编码,如UTF-8

2.元素

1)元素语法的要求

-每一个XML文档有且只有一个根元素

-根元素是一个完全包括文档中其他所有元素的元素

-根元素的起始标签要放在其他所有标签的起始标签之前

-根元素的结束标签要放在其他所有标签的结束标签之后

-应用实例:创建:语法/students02.xml

<?xml version="1.0" encoding="utf-8" ?>
<!--
1.每一个XML文档有且只有一个根元素
2.根元素是一个完全包括文档中其他所有元素的元素
3.根元素的起始标签要放在其他所有标签的起始标签之前
4.根元素的结束标签要放在其他所有标签的结束标签之后
5.XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写方式:
    1)包含标签体:<a>www.sohu.con</a>
    2)不包含标签体:<a></a>简写为<a/>
6.一个标签内也可以嵌套若干个子标签。但所有标签必须要合理嵌套,绝对不允许交叉嵌套
7.在很多时候,标签、元素、节点是同一个意思
​
-->
<students>
​
</students>

2)XML元素命名规则

<?xml version="1.0" encoding="UTF-8" ?>
<!--
1.区分大小写,例如<P>和<p>是两个不同标记。(前面的是大写,后面的是小写)
2.不能以数字开头
3.不能包含空格
4.名称中间不能包含冒号(:)
5.如果标签单词需要间隔,建议使用下划线,例如:<book_title>hello</book_title>
​
​
-->
<student>
​
</student>
3.属性

1)属性介绍

<student ID="100">
<name>TOM</name>
</student>

2)属性值用双引号("")或单引号('')分隔(如果属性值中有'',用""分隔,如果属性值中有"",用''分隔)

3)一个元素可以有多个属性,它的基本格式为<元素名 属性名="属性值">

4)特定的属性名称在同一个元素标记中只能出现一次

5)属性值不能包含&

6)属性应用实例

<?xml version="1.0" encoding="utf-8" ?>
<!--
1)属性值用双引号("")或单引号('')分隔(如果属性值中有'',用""分隔,如果属性值中有"",用''分隔)
​
2)一个元素可以有多个属性,它的基本格式为<元素名 属性名="属性值">
​
3)特定的属性名称在同一个元素标记中只能出现一次
​
4)属性值不能包含&
​
-->
<student>
    <!--
    举例:id="01" 也是正确的
    如果属性值有" 则使用' 包括id="xxx'yyy"
    如果属性值有' 则使用" 包括id='xxx"yyy'
    属性名在同一个元素标记只能出现一次:<student id="01" id="03">是错误的
    属性值不能包含&,例如:<student id="&01">是错误的
    -->
​
</student>
4.注释

1)<!--这是一个注释-->

2)不能把注释放在标签中间,例如:<name<!--the name-->>TOM</name>

3)注释不能嵌套

4)注释中间不能出现--

5)可以在除标记以外的任何地方放注解

5.CDATA区、特殊字符

说明:有些内容不想让解析引擎执行,而是当作原始内容处理(即当作普通文本),可以用CDATA包裹起来,CDATA节中的所有字符都会本当作简单文本,而不是XML标记

1)语法

<![CDATA[这里可以把你输入的字符原样显示,不会解析xml]]>

2)可以输入任何字符(“[]>”除外)

3)不能嵌套

4)应用实例

<?xml version="1.0" encoding="utf-8" ?>
<!--
<![CDATA[这里可以把你输入的字符原样显示,不会解析xml]]>
​
-->
<student>
    <student id="01">
        <name>Tom</name>
        <gender>男</gender>
        <age>18</age>
        <!--
        举例说明:
        下面是一段js代码,直接放在<code></code>标签中,语法错误
        使用CDATA节来处理即可
        <script data-compress=strip>
            function h(obj){
         obj.style.behavior='url*(#dedfault#homepage)';
         ar a=obj.setHomePage('//www.baidu.com/');
        }
        </script>
        -->
    </student>
    <student id="02">
        <name>mary</name>
        <gender>女</gender>
        <age>19</age>
        <code>
            <!-- 该代码尽量不要运行 如果希望把某些字符串当作文本处理,可以使用CDATA -->
            <![CDATA[
            <script data-compress=strip>
            function h(obj){
         obj.style.behavior='url*(#dedfault#homepage)';
         ar a=obj.setHomePage('//www.baidu.com/');
        }
        </script>
            ]]>
        </code>
    </student>
</student>

5.转义字符

1)对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理

更多转义字符可以直接百度

2)应用实例

<?xml version="1.0" encoding="UTF-8" ?>
<!--
对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理
​
-->
<students>
    <student id="01">
        <name>Tom</name>
        <gender>男</gender>
        <age>18</age>
        <!--
            使用转义字符表示一些特殊的字符
            <resume>年龄>10 &版权</resume>
            //大于号和标签号一样,可能导致标签直接结束,所以可以替换为转义字符
        -->
        <resume>年龄&gt;10</resume>
    </student>
    <student id="02">
        <name>mary</name>
        <gender>女</gender>
        <age>19</age>
    </student>
</students>

6.小结

一个正规的xml文档要遵循如下原则

1)XML声明语句:<?xml version="1.0" encoding="UTF-8" ?>

2)有且只有一个根元素

3)标记大小写敏感(区分大小写)

4)属性值用引号

5)标记成对出现

6)空标记关闭

7)元素正确嵌套

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值