XML 命名空间 概述
来源:互联网 发布:linux系统哪个好用 编辑:程序博客网 时间:2024/04/29 22:42
Xml中为了对同名的元素进行限定,w3c提出了命名空间的规范。
简单的说命名空间就是给每个元素加上限定名,从而对同名元素进行区分。
一 命名空间声明的两种方式
1 带有前缀的声明
<ElementName xmlns:prefixname="URI"></ElementName>
命名空间实际上是作为一个元素属性,被声明的。其有效范围包括当前元素,以及所有的子元素。
xmlns:声明命名空间的属性名
prefixname:前缀名。
URI:命名空间。实际上是一个统一资源定位符,这里只是为了定义命名空间的唯一性,才使用URI。实际上XML文档再被解析的时候,并不去连接到URI指定的位置
2 不带前缀名的默认命名空间声明
<ElementName xmlns="URI"></ElementName>
3 URI为空的命名空间声明
<ElementName xmlns=""></ElementName>
此种方式是指定此元素,不属于任何命名空间。
二 几点说明
1 利用带有前缀名的声明方式,在元素上声明了命名空间后,并不是这个元素以及其子元素就属于此命名空间,而仅仅说明此命名空间的有效范围。如果要制定元素的命名空间,必须要在元素上指定前缀名,例如:
<Books xmlns:book="http://www.csdn.net/book">
<book:book>
<name>jsp</name>
</book:book>
</Books>
在上面的设定中<book>元素的命名空间是“http://www.csdn.net/book”。但是,<name>元素的命名空间并不是“http://www.csdn.net/book”。如果要设定<name>的命名空间,必须指定前缀名。
2 不带前缀名的默认命名空间的声明方式,在元素上声明了命名空间后,那么当前元素以及其子元素都属于此命名空间。
三 举例说明元素的命名空间
<?xml version="1.0" encoding="UTF-8"?>
<books xmlns="http://www.baidu.com/book" xmlns:people="http://www.baidu.com/people" >
<people:book>
<people:name>JPS STUDY</people:name>
<author>sunxin</author>
</people:book>
<book>
<name>JPS STUDY2</name>
<author>sunxin2</author>
</book>
<book xmlns="">
<name>JPS STUDY3</name>
<author>sunxin3</author>
</book>
<author>
<name>sunxin</name>
<age age="28"></age>
</author>
</books>
我们来看看上面的元素的命名空间
<books> 默认命名空间 http://www.baidu.com/book
<people:book> 指定的命名空间 http://www.baidu.com/people
<book> 默认的命名空间 http://www.baidu.com/book
<book xmlns=""> 因为默认命名空间被屏蔽,所以不属于任何的命名空间
<author> 默认命名空间 http://www.baidu.com/book
- XML 命名空间 概述
- 命名空间概述
- 命名空间概述理解
- PHP命名空间概述
- 了解 XML 命名空间
- XML之命名空间
- [原创]XML命名空间
- XML 命名空间
- XML命名空间
- XML 命名空间
- XML 命名空间
- XML命名空间NameSpase
- xml命名空间
- XML 命名空间
- xml命名空间
- xmlns:XML命名空间
- XML 命名空间
- xml处理命名空间
- [VB.NET]我这样写有什么错误?
- [VB.NET]急!!!WebBrowser的问题,超郁闷,麻烦大家来帮帮忙
- bnu1218 古罗马信息化 C语言版
- [VB.NET]急100分求,怎么把一段字符当作命令行执行??
- [VB.NET]datedridview,如何判断选中的不是标头?
- XML 命名空间 概述
- bnu1219 津津的储蓄计划 C语言版
- [VB.NET]我是新手,想让高手帮忙解决个问题
- [VB.NET]一项目请教
- bnu1237 Cantor表 C语言版
- [VB.NET]窗体放在Panel上???
- 今天看了公司一新来的哥们,文章写的太好了。
- bnu1244 求合数 C语言版
- [VB.NET]如何清除DataGridView中的数据?