在上篇的博客中,我们系统的介绍了一下xml与html之间的异同以及一部分xml的特性或者说是优点,接下来,我们就xml文档的一些语法规则具体向大家阐述一下:

1、xml文档形成了一种“树结构”,他从“根部”开始,然后扩展到“枝叶”

我们拿一个例子代码来说:

<?xml version=”1.0” endoding=”utf-8”?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don’t forget the metting!</body>
</note>

第一行的地方,是XML生明,他定义了xml的版本(1.0)和所使用的编码(utf-8)

而<note>是本文档的根目录(说明本文档是一个便签信息)

接下来的中间整体部分4行,描述了根的4个子元素(to ,from ,heading, body四部分)

最后一行,当然是<note>标签的结束标签啦</note>,所以说,xml中,省略关闭标签是非法的,所有元素都必须有关闭标签

而从本文档中呢,我们就可以明白,这是john给george的一封便签信息,说,不要忘了会议

同样,从上面我们可以看到,一个xml文档必须包含一个根元素,根元素是所有其他元素的父元素,自考中知道根节点,跟那个差不多,等级最高的。而其他的子元素从根部开始慢慢向上拓展,形成一颗文档树,并扩展到树的最底端,所有元素均可拥有子元素。而这也正体现了xml的可扩展性,想要加上时间,那么就直接在body元素的平行级元素下加上就可以了,方便的很

值得一说的是,xml中标签对大小写是很敏感的,比如说这个<note>标签,如果在最后的结束标签时用</Note>,它本身是不认识的,因为它是纯文本,都有不同的意义,所以,必须用</note>

在我们的html中,我们可能会遇到这种情况:

<b><i>I Love U</b></i>

可是在我们的xml中,这样也是不行的,必须要正确的嵌套,按照格式:

<b><i>I Love U</i></b>

XML中,属性之必须用” ”(英文符号双引括起来)

举个例子

<note date=”2015-08-01”> jfaldksjf </note>  正确
<note date=2015-08-01> jfaldksjf </note> 错误

再就是xml中的实体引用了,这是为什么呢?因为一些符号在xml中都有特殊的意义,不能随便用,但是我们也要用到这些符号的,怎么办,实体引用,在xml中,有5哥预定义的引用

那些了一个格式良好的xml文档,如何命名呢?

1、名称可以含字母、数字以及其他的字符

2、名称不能以数字或者标点符号开始

3、名称不能以字符“xml或者XML、Xml”开始

4、名称不能包含空格

下一个重点,验证xml文档

合法的xml文档是形式良好的xml文档,同样尊守文档类型定义的(DTD)的语法规则:

<?xml version=”1.0” endoding=”utf-8”?>
<! DOCTYPE note SYSTEM “Note.dtd”>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don’t forget the metting!</body>
</note>

DOCTYPE生明是对外部DTD文件的引用,而外面这个Note.dtd是什么东西呢?

<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCADATA)>
<!ELEMENT from (#PCADATA)>
<!ELEMENT heading (#PCADATA)>
<!ELEMENT body (#PCADATA)>
]>

这个叫XML DTD,作用是定义xml文档的结构,而W3C支持一种基于XML的DTD代替这,叫做XMLSchema

那到这里呢,xml的一些基础知识就已经总记得差不多了,期待接下来的学习,能够再次与大家分享

XML基础总结2的更多相关文章

  1. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  2. XML 参考:XML基础 XML 简介

    XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...

  3. XML基础概念

    XML基础概念 一.什么是XML. 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 二.XML特点 1 ...

  4. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  5. XML基础<第一篇>

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  6. JavaEE XML 基础知识

    JavaEE XML 基础知识 @author ixenos 1.    XML开头都需要一个声明 <?和?>表明这是一个处理指令 <?xml version=”1.0” encod ...

  7. JavaWeb学习日记----XML基础

    1.XML基础: XML全称为eXtensible Markup Language;即可扩展标记型语言,同HTML一样使用标签来操作.它的可扩展性体现在标签可以由自己定义,可以是中文标签. XML用途 ...

  8. pom.xml基础配置

    pom.xml基础配置: maven中,最让我迷惑的还是那一堆配置! 就拿这个属性配置来说: 我需要让整个项目统一字符集编码,就需要设定 <project.build.sourceEncodin ...

  9. XML基础+Java解析XML +几种解析方式的性能比较

    XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...

  10. 第一篇 -- XML基础

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

随机推荐

  1. Grunt之项目脚手架

    在网上搜了下,grunt这方面的教程挺少的,来去都是一些被频繁转载的文章.唉,人艰不拆啊. 首先我们在全局环境中安装grunt-init. npm install -g grunt-init 来看看官 ...

  2. 利用ADSL拨号上网方式如何搭建服务器

    序:搭建服务器需要两个条件硬件服务器和固定公网IP,随便一台个人电脑都可以作为硬件服务器,就剩下一个问题,如何获得一个固定公网IP. 第一章 扫盲:ADSL拨号上网方式,本地IP与公网IP的区别 一. ...

  3. Android自定义遮罩层设计

    在做网页设计时,前端设计人员会经常用到基于JS开发的遮罩层,并且背景半透明.这样的效果怎么样在Android上实现呢?这个实现并不困难,先来上效果图: <ignore_js_op> 201 ...

  4. UINavigation拖动翻页

    #import <UIKit/UIKit.h> #import "ViewController.h" //window窗口 #define WINDOW [[UIApp ...

  5. 百度图片爬虫-python版

               self.browser=imitate_browser.BrowserBase()            self.chance=0            self.chanc ...

  6. phpmyadmin #1045 #2002 无法登录 MySQL 服务器的解决方

    1.首先说下phpmyadmin的安装 a.解压放到网站的某个目录下,如mydbb.将config.sample.inc.php复制成config.inc.php 2.#2002 无法登录 MySQL ...

  7. 《ASP.NET MVC4 WEB编程》学习笔记------Web API

    本文截取自情缘 1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集 ...

  8. 22.python笔记之web框架

    一.web框架本质 1.基于socket,自己处理请求 #!/usr/bin/env python3 #coding:utf8 import socket def handle_request(cli ...

  9. Java的++自增

    记得大学刚开始学C语言时,老师就说:自增有两种形式,分别是i++和++i,i++表示的是先赋值后加1,++i是先加1后赋值,这样理解了很多年也没出现问题,直到遇到如下代码,我才怀疑我的理解是不是错了: ...

  10. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...