XML基础总结2
在上篇的博客中,我们系统的介绍了一下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的更多相关文章
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- XML 参考:XML基础 XML 简介
XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...
- XML基础概念
XML基础概念 一.什么是XML. 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 二.XML特点 1 ...
- xml基础小结
XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...
- XML基础<第一篇>
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- JavaEE XML 基础知识
JavaEE XML 基础知识 @author ixenos 1. XML开头都需要一个声明 <?和?>表明这是一个处理指令 <?xml version=”1.0” encod ...
- JavaWeb学习日记----XML基础
1.XML基础: XML全称为eXtensible Markup Language;即可扩展标记型语言,同HTML一样使用标签来操作.它的可扩展性体现在标签可以由自己定义,可以是中文标签. XML用途 ...
- pom.xml基础配置
pom.xml基础配置: maven中,最让我迷惑的还是那一堆配置! 就拿这个属性配置来说: 我需要让整个项目统一字符集编码,就需要设定 <project.build.sourceEncodin ...
- XML基础+Java解析XML +几种解析方式的性能比较
XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...
- 第一篇 -- XML基础
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
随机推荐
- 使用log4net连接Mysql数据库配置
log4net配置: //Author:GaoBingBing [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net ...
- Java Socket 网络编程心跳设计概念
Java Socket 网络编程心跳设计概念 1.一般是用来判断对方(设备,进程或其它网元)是否正常动行,一 般采用定时发送简单的通讯包,如果在指定时间段内未收到对方响应,则判断对方已经当掉.用于 ...
- JAVA本地方法详解,什么是JAVA本地方法?
一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由非j ...
- Java-UDP Socket编程
UDP 的 Java 支持 UDP 协议提供的服务不同于 TCP 协议的端到端服务,它是面向非连接的,属不可靠协议,UDP 套接字在使用前不需要进行连接.实际上,UDP 协议只实现了两个功能: 在 I ...
- ASP.NTE 5 Target framework dnx451 and dnxcore50(转)原文:http://www.cnblogs.com/xishuai/p/aspnet5-target-framework-dnx451-and-dnxcore50.html
中文不知如何定义标题,所以干脆就直接贴出关键字,在 ASP.NTE 5 项目的 project.json 配置文件中,会有这样的定义: "frameworks": { " ...
- 10道C++输出易错笔试题收集
下面这些题目都是我之前准备笔试面试过程中积累的,大部分都是知名公司的笔试题,C++基础薄弱的很容易栽进去.我从中选了10道简单的题,C++初学者可以进来挑战下,C++大牛也可以作为娱乐玩下(比如下面的 ...
- Base64封装类
using System;using System.Collections.Generic;using System.Linq;using System.Web; /// <summary> ...
- Entity Framework CodeFirst数据迁移
前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是“Database First”还是“Model First”当模型发生改变了都可以通过Visual ...
- HDU 1025 Constructing Roads In JGShining's Kingdom(求最长上升子序列nlogn算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025 解题报告:先把输入按照r从小到大的顺序排个序,然后就转化成了求p的最长上升子序列问题了,当然按p ...
- 《第一行代码》(三: Android 百度地图 SDK v3.0.0)
百度地图的SDK变化较大,第一行代码里的demo已经不能用了,一直以为是代码类错误,害我花了很多时间,可以参考这位博主的:http://blog.csdn.net/lmj623565791/artic ...