xml学习:
1)特殊字符:
&:&
<:<
>:>
":"
':&apos
这里的单引号 ' 与HTML里面不一样。html里面的单引号是这样写的:´
2)cdata区:
一个xml文件里面包含javascript代码时,可以把代码嵌入cdata区中,例如:
<script type="text/javascript">
<![CDATA[
这里是javascript代码
]]>
</script>
CDATA注意事项:
CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。同样要注意在字符串"]]>"之间没有空格或者换行符。
3)xml约束模式:
符合语法的XML文档称为结构良好的XML文档。
通过DTD验证的XML文档称为有效的XML文档。用另外的一篇文档来描述并约束此xml,就好比一种法律约束人的行为一样,目前流行的有两种:DTD,XML Schema,后者有取代前者的趋势,但是目前DTD还是十分流行。
DTD:
<!element 元素名(子元素1,子元素1,子元素n)>
<!DOCTYPE 根元素名 SYSTEM "DTD文件名">
DTD不使用XML语法,缺乏对定义数据类型的支持等。所以出现了XML Schema,
XML Schema根元素必须叫schema,complexType表示是一种综合的类型。sequence表示是按顺序出现的,
maxOccurs="unbounded"表示是没上限的,可以出现N次,
XML Schema也得遵循一种XML Schema,语法是这样,
<xs:schema xmlns:xs="http://www.w3.org/2001/XML Schema">
意思就是说凡是以xs打头的元素必须遵循双引号里面url指定的约束模式,xmlns:xs是一种很特殊的属性,这个url就 是一个唯一标识符,这就是名称空间,xs就是此url的简写。它的作用范围就是它本身的元素和它的子元素,这个标识符放在哪里呢?这个用户不需要关心,xml解析工具是知道的。
4)命名空间属性
命名空间属性一般放置在元素的开始标记处,其使用语法如下所示:
xmlns:namespace-prefix="namespace"
默认的名称空间:
定义一个默认的XML命名空间使得我们在子元素的开始标记中不需要使用前缀。他的语法如下所示:
<element xmlns="namespace">
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee(这里是空白,可以包含空格,回车,换行等空白字符)http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
web-app是根元素,第一个“http://java.sun.com/xml/ns/j2ee”唯一的标识了一个Schema模式文档(这里并没指定此文档的位置),用的是xmlns属性,它没加前缀,说明这个uri是一个默认的名称空间,其作用范围为此元素和它所有的子元素。xsi:schemaLocation里面的http://java.sun.com/xml/ns/j2ee指明上面xmlns属性里面的http://java.sun.com/xml/ns/j2ee的位置在http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd,xsi是一个前缀,它代表xmlns:xsi属性里面指定的uri,schemaLocation属性是从xsi指定的uri中来的。所以在上面就声明了xsi,这个xsi的值为http://www.w3.org/2001/XMLSchema-instance,这个uri是每个xml解析工具都知道的。所以不用指定它的位置。
5)XML标记都是大小写敏感的
这与HTML不一样, XML标记是大小写敏感的。
在XML中, 标记<Letter>与标记<letter>是两个不同的标记。
因此在XML文档中开始标记和结束标记的大小写必须保持一致。
<Message>This is incorrect</message> //错误的
<message>This is correct</message> //正确的
所有的XML元素必须合理包含
在XML中不允许不正确的嵌套包含。
在HTML中,允许有一些不正确的包含,例如下面的代码可以被浏览器解析:
<b><i>This text is bold and italic</b></i>
在XML中所有元素必须正确的嵌套包含,上面的代码应该这样写:
<b><i>This text is bold and italic</i></b>
所有的XML文档必须有一个根元素
XML文档中的第一个元素就是根元素。
所有XML文档都必须包含一个单独的标记来定义,所有其他元素的都必须成对的在根元素中嵌套。XML文档有且只能有一 个根元素。
所有的元素都可以有子元素,子元素必须正确的嵌套在父元素中,下面的代码可以形象的说明:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
属性值必须使用引号""
在XML中,元素的属性值没有引号引着是不符合规定的。
如同HTML一样,XML元素同样也可以拥有属性。XML元素的属性以名字/值成对的出现。XML语法规范要求XML元素属性值 必须用引号引着。
6)XML元素命名
XML元素命名必须遵守下面的规则:
元素的名字可以包含子母,数字和其他字符。
元素的名字不能以数字或者标点符号开头。
元素的名字不能以XML(或者xml,Xml,xMl...)开头。
元素的名字不能包含空格。
自己“发明”的XML元素还必须注意下面一些简单的规则:
任何的名字都可以使用,没有保留字(除了XML),但是应该使元素的名字具有可读性,名字使用下划线是一个不错的选择。
例如: <first_name>, <last_name>.
尽量避免使用“-”,“.”,因为有可能引起混乱。
只要你愿意元素的名字可以很长,但也不要太夸张了哦。命名应该遵循简单易读的原则,例如:<book_title>是一个不错的名字,而<the_title_of_the_book>则显得罗嗦了。
XML文档往往都对应着数据表,我们应该尽量让数据库中的字段的命名和相应的XML文档中的命名保持一致,这样可以方便数据变换。
非英文/字符/字符串也可以作为XML元素的名字,例如<蓝色理想><经典论坛>这都是完全合法的名字。但是有一些软件不能很好的支持这种命名,所以尽量使用英文字母来命名。
在XML元素命名中不要使用":",因为XML命名空间需要用到这个十分特殊的字符。
分享到:
相关推荐
标题"Dom4j学习教程+API+xml实用大全+xml学习笔记+htc"提及了几个关键主题,包括Dom4j的学习资源、API文档,以及关于XML的实用指南和学习笔记,还提到了一个名为"htc"的文件,可能是关于HTC设备或技术的文档。...
XML学习笔记 本文档是一份详细的XML学习笔记,涵盖了XML的背景、XML和HTML的关系、SGML、XML和HTML的关系、XML文件、XML标记等方面的知识点。 一、XML的背景 XML是扩展的标记语言(eXtensible Markup Language)...
在“pugixml学习笔记1 加载文件”中,我们将探讨如何利用pugixml库来加载XML文件,包括从内存、文件、字符串和流中加载。 首先,我们需要了解pugixml的核心类:`pugi::xml_document`、`pugi::xml_node`和`pugi::xml...
### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...
XML学习笔记(包括Java的两种解析XML的方法)。 XML基础语法的介绍,DTD的介绍和使用。 可快速入门,也可当手册使用。
在XML学习笔记中,我们可能会遇到以下几个关键知识点: 1. **XML基本结构**:XML文档由元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)、处理指令(Processing Instruction)等组成。每个XML...
Java操作XML是编程中常见的任务,特别是在处理配置文件、数据交换和存储时。XML文档对象模型(DOM)是一种广泛使用的解析XML的方式。DOM允许开发者通过Java代码与XML文档的结构进行交互,就像一棵树,每个元素、属性...
本笔记主要涵盖了PHP中XML的使用方法和关键概念。 ### XML基础 1. **XML结构**:XML文档由元素、属性、文本内容和命名空间等组成。每个XML文档都必须有一个根元素,其他元素嵌套在其内部。 2. **XML命名规则**:...
XML 基础学习笔记 XML 文档基本结构: 1. 文档说明:一个完整的 XML 文档中必须包含一个文档说明,这个说明表示该文档是一个 XML 文挡,以及遵循那个 XML 版本的规范。最简单的文档说明如下:`<?xml version=”1.0...
由于提供的文件信息中包含了大量的XML学习资料,且内容比较丰富,我们将逐一详细解释这些内容所涵盖的知识点。 **XML简介** XML是Extensible Markup Language(可扩展标记语言)的缩写,它是一种用于标记电子文件...
XML,全称Extensible Markup Language,可扩展标记语言,是一种用于标记数据的结构化语言,...通过这些学习资料,你将能够深入理解XML的各个方面,从基础语法到高级用法,从而在实际工作中更有效地处理和利用XML数据。
JDBC&XML 个人学习笔记,适合初级学习,包含完整代码以及相应注视,简单明了
XML的学习不仅包括基础语法,还包括理解XML的结构化概念、元数据、样式处理和DOM等高级主题。对于初学者来说,掌握这些基本知识是迈向专业XML开发的第一步。随着技能的提升,XML可以用于实现复杂的数据交换、数据...
XML,全称可扩展标记语言...学习XML的基础知识,对于理解和处理结构化数据,尤其是进行跨平台的数据交换,是至关重要的。无论是初学者还是经验丰富的开发人员,掌握XML都能提高其在软件开发领域的专业能力。
XML的学习不仅仅是理解这些基本概念,还包括命名空间、DTD(文档类型定义)或XML Schema的使用,XPath和XSLT(用于查询和转换XML)等高级主题。掌握XML能帮助开发者更好地理解和处理结构化数据,从而在各种应用场景...