XML基础

目录

XML简介

XML语法

XML树结构 

语法规则

XML验证 


XML简介

XML是什么:可扩展标记语言,用来传输和存储数据。

XML是一种很像HTML的标记语言,有标签这种东西,在标签内部放置不同的内容,但是不同于HTML的标签,比如<p>段落标签,<a>链接标签,<h>标题标签等,在XML里的标签可以自定义

举个栗子:在HTML中 ,这样表示一个段落标签:

<p>这是一个标签</p>

在XML中,这样表示一个姓名标签,并且指明姓名是王五,至于标签是什么意思就由创作者自己定义了:

<name>王五</name>

XML用来做什么:XML用来存储、传输数据,并且在不同的设备、不同的系统中都可以使用。

比如写一个网页里面要放一些信息,当要对信息进行修改或者动态显示的时候,使用JS调用一个XML文件,里面放的就是要使用的信息,那么修改信息只需要在XML文件中进行即可,而不用修改大量的HTML代码。

XML语法

那么知道了XML是用来存储数据的,如何写一个XML文件呢?如何用XML文件保存想要传递的信息呢?

XML树结构 

如题,XML首先有一个根,在这个根上扩展出很多枝枝蔓蔓,每个枝枝蔓蔓上都放有不同的东西,每个枝枝蔓蔓又可以有自己的枝枝蔓蔓,就像子类父类这样。

看一个例子:

<?xml version="1.0" encoding="utf-8"?>
<note>
<to>李华</to>
<from>李明</from>
<body>这个作文不会写</body>
</note>

在上面的XML文件中,第一行是XML的声明定义使用的版本和编码,是必须的,基本都一样。之前说的一样,XMl里的标签都是可以自定义的,表达自己想要的意思,但是要有始有终,<***></***>这样。

第二行的<note>标签就是一个根,因为它的“终”在结尾</note>,别的标签<to><from><body>都在它的里面,属于它的子类,现在可以看出写一个子标签,就是放在一个标签里面,外面的是父类,里面的是子类。

这个XML文档表达的意思是:这是一个便条(note),李明(from)给李华(to)的,内容(body)是这个作文不会写。

 其实表达这样的文案用word、txt、pdf等都可以,但是使用XML创建了标签,就可以使用代码利用标签对不同的内容进行调动,在下一篇的eXPath中会讲怎么使用。

语法规则

像之前写的XMl文档,XML的语法规则要求要有第一行的声明、标签要有始有终、必须要有根元素、标签前后大小写要一致等。

XML也可以对元素的属性进行设置,下面就是将<body>中内容语言属性(lang)设置为英文,属性要使用双引号" ":

<body lang="en">一段英文</body>

XML中还有一些特殊字符,在使用时要用实体引用代替,类似于C语言中的转义字符。

比如在XML文档中写 age<20,但是 < 会被识别为标签,这样原有意思就错了。

<&lt;
>&gt;
&&amp;
'&apos;
"&quot;

注释:<!--***********-->

换行:LF

命名:同一般编程语言命名规则一样 

XML验证 

XML验证是什么:就是检查写的XML文档有没有错误。

通过DTD验证XML是一个合法的XML。

DTD是什么: DTD是文档类型定义,简单理解就是使用这个东西,就可以描述XML的自身格式,也可以通过这个验证自身的或者从外界接收的数据是否合适。

看下面这个XML代码:

<?xml version="1.0"?>
<!-- Copyright w3school.com.cn -->
<!DOCTYPE note [
  <!ELEMENT note    (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>
<note>
<to>George</to>
<fromm>John</fromm>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
<ps>I love you</ps>
</note> 

红色的是原有的XML代码,包含根元素以及它的子元素,上面的蓝色和紫色代码就是DTD,它可以放在XML文档里面,就像上面这样也可以放在外部然后在XML中引用,比如在外部创建了一个名为note的DTD文档,在XML中引用:

<!DOCTYPE note SYSTEM "note.dtd">

DTD代表的意思:

!DOCTYPE note      表示是一个note类型的文档

<!ELEMENT note    (to,from,heading,body)      表示note文档中含有四个元素

<!ELEMENT to      (#PCDATA)>      定义to元素类型为#PCDATA
<!ELEMENT from    (#PCDATA)>      定义from元素类型为#PCDATA
<!ELEMENT heading (#PCDATA)>      定义heading元素类型为#PCDATA
<!ELEMENT body    (#PCDATA)>      定义body元素类型为#PCDATA

这四个元素的顺序要和第二行note(   )括号中写的一样。

 这一块就是判断XML文档写的对不对,DTD的作用也是如此,怎么使用还不清楚,就了解个大概,后续再补吧~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值