当前位置:首页 > 开发 > Web前端 > 前端 > 正文

XML基础知识及Namespaces理解

发表于: 2012-03-08   作者:ChuanSu   来源:转载   浏览次数:
摘要: XML 是"Extensible Markup Language" 的简称,是一种text-based,tag-based(基于文本,基于标签)的标记性语言。 XML 可以分为两种不同的mode(模式) : Well-formed XML Valid XML Well-formed XML相对来说比较自由,没有预先设定好的schema(架构)来约束,可以在不违反
XML 是"Extensible Markup Language" 的简称,是一种text-based,tag-based(基于文本,基于标签)的标记性语言。
XML 可以分为两种不同的mode(模式) :

Well-formed XML
Valid XML


Well-formed XML相对来说比较自由,没有预先设定好的schema(架构)来约束,可以在不违反 nesting rule for tag 的情况下,创建自己的tag,标签。
刚开始学XML,必须得清楚几个重要的概念 :

1,Tags
2,Element,Root Element,Empty Element
3,Attribute
4,Namespace
5,Namespace Name
6,Qualified Name
7,Local Name

Tags -标签,在上面之所以称标签为Tags而不是Tag,是因为在XML中,标签总是成对出现的,当然除了 Empty Tag。举个例子
<Name>Chuan Su</Name>
当一个 <Name>(opening tag)出现时,后面必定会跟上一个matched </Name>(closing tag)
所以 Tags in XML are text surrounded by triangular brackets,<...>
两个tag,opening tag与closing tag,并且包括在两标签内的everything,就称为XML的一个 Element。
说了这么多先来看个简单的例子吧。

<?xml version="1.0" encoding="UTF-8" standalone = "yes" ?>
<StarMovieData>
	<Star>
		<Name>Carrie Fisher</Name>
		<Address>
			<Street>123 Maple St.</Street>
			<City>Hollywood</City>
		</Address>
		<Address>
			<Street>5 Locust Ln.</Street>
			<City>Malibu</City>
		</Address>
	</Star>
	<Star>
		<Name>Mark Hamill</Name>
		<Street>456 0ak Rd.</Street>
		<City>Brentwood</City>
	</Star>
	<Movie>
		<Title>Star Wars</Title>
		<Year>1977</Year>
	</Movie>
</StarMovieData>

第一行称为XML文件的prolog(开端),最小的XML prolog为
<? xml version = "1.0" ?>仅表明这个文件是XML 文件
对于attribute standalone = "yes" 这个的理解,官方网站上这样讲的
引用
standalone: Tells whether or not this document references an external entity or an external data type specification. If there are no external references, then "yes" is appropriate.

也可以简单的理解为这个XML文件不涉及到 DTD,当看到 standalone = "yes"就可以直接说 这个xml 文件 是一个 well-formed XML

上面讲到了 element, 在这个例子中,可以看到有很多个elements,但是在一个xml文件中 root element只有一个,位于
<?xml version="1.0" encoding="UTF-8" standalone = "yes" ?>
<rootElement>

..........

</rootElement>

引用
在 XML 中,an element can have attributes(name-value pairs) within its opening tag.

每一个xml element 可以有多个attributes,attributes是以 “name = value"这样的形式出现在 这个element的opening tag当中的。

比如上面例子中的 "<Movie>...</Movie> "element,如果要对Movie添加属性的话,
写为
<Movie,title = "Star Wars",year = 1977>
		<Country>America</Country>
		<Time>120 minutes</Time>
	</Movie>

此时的 title,year不再是element而是 element Movie的 attributes了。
在XML 中也可以有 Empy element,在上面的例子当中
可以出现 <Movie/> 这样一个单纯的Empty element,即只有一个tag,但是Empty element可以有自己的attributes,例如
<Movie,title = "Star Wars",year = 1977 />


Namespaces

由于关于Namespace 写的态度,姑且放到了 我的博客分类
《详解XML namespace》
一文中了,请见谅。

XML基础知识及Namespaces理解

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
作用:xml是一种可拓展标记语言,其他称呼像:可拓展标识语言。 这种语言是能够在部门、客户和供应
当你使用Web Service、SOAP 传递或接受数据进行通讯时, 当你使用Spring、Struts、Maven 等当今流行
1、XML的特点及作用 2、XML的声明 3、根元素 4、属性 5、实体 6、CDATA节 <img src="http://img.
原文地址:http://nootrix.com/2013/08/ros-namespaces/ In this tutorial, we will be talking abo
XML 可扩展标记语言(Extensible Markup Language) 是一种标记语言,设计宗旨是传输数据,而非显示
上篇说的二进制等之间的转换,而要完成这些转换,需要人为的定制一些规则,这就是第一篇提到的Ascii
上篇说的二进制等之间的转换,而要完成这些转换,需要人为的定制一些规则,这就是第一篇提到的Ascii
上篇说的二进制等之间的转换,而要完成这些转换,需要人为的定制一些规则,这就是第一篇提到的Ascii
Now we have all the pieces to put together a picture of the scoping rules and namespaces for
引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号