XML指南——XML元素
程序员文章站
2022-06-19 13:38:19
xml元素是可以扩展的,它们之间有关联。 xml元素有简单的命名规则。 xml元素是可以扩展的 xml文档可以被扩展一边携带更多的信息。 请看...
xml元素是可以扩展的,它们之间有关联。
xml元素有简单的命名规则。
xml元素是可以扩展的
xml文档可以被扩展一边携带更多的信息。
请看下面的xml便条例子:
<note>
<to>lin</to>
<from>ordm</from>
<body>don't forget me this weekend!</body>
</note>
让我们来设想一个能够读取此xml文档的并能解读其中xml元素(<to>, <from>, 和<body>)的软件,可能的输出如下:
message
to: lin
from: ordm
don't forget me this weekend!
我们再来设想,如果便条的作者ordm在这个xml文档中加入一些额外的信息,如下所示:
<note>
<date>2002-12-24</date>
<to>lin</to>
<from>ordm</from>
<heading>reminder</heading>
<body>don't forget me this weekend!</body>
</note>
那么原来的应用程序会中断或者崩溃么?
不会。应用程序仍然会正确的解读<to>, <from>, 和<body> 等元素,并且产生同样的输出。
xml文档是可以扩展的!
xml元素是相互关联的
xml元素之间是父元素和子元素的关系。
为了更好的理解xml术语,必须了解xml元素之间的关系如何,以及元素的内容是如何被描述的。
设想有这样一本书:
署名: xml 指南
第一章: xml入门简介
什么是html
什么是xml
第二章: xml语法
xml元素必须有结束标记
xml元素必须正确的嵌套
我们可以用xml文档来描述这本书:
<book>
<title>xml 指南</title>
<prod id="33-657" media="paper"></prod>
<chapter>xml入门简介
<para>什么是html</para>
<para>什么是xml</para>
</chapter>
<chapter>xml语法
<para>xml元素必须有结束标记</para>
<para>xml元素必须正确的嵌套</para>
</chapter>
</book>
在上面的代码中,book元素是xml文档的根元素,title元素和chapter元素是book元素的子元素。book元素是title元素和chapter元素的父元素。title元素,prod元素和chapter元素是平级元素,因为他们都有同一个父元素。
xml元素的内容
xml元素有不同的内容。
xml元素指的是从该元素的开始标记到结束标记之间的这部分内容。
xml元素有元素内容,混合内容,简单内容或者空内容。每个元素都可以拥有自己的属性。
在上面的例子中,book元素有元素内容,应为book元素包含了其它的元素。chapter元素有混合内容,因为它里面包含了文本和其他元素。para元素有简单的内容,因为它里面仅有简单的文本。prod元素有空内容,因为他不携带任何信息。
在上面的例子中,只有prod元素有属性,id属性值是33-657,media属性值是paper。
xml元素命名
xml元素命名必须遵守下面的规则:
元素的名字可以包含子母,数字和其他字符。
元素的名字不能以数字或者标点符号开头。
元素的名字不能以xml(或者xml,xml,xml...)开头。
元素的名字不能包含空格。
自己“发明”的xml元素还必须注意下面一些简单的规则:
任何的名字都可以使用,没有保留字(除了xml),但是应该使元素的名字具有可读性,名字使用下划线是一个不错的选择。
例如: <first_name>, <last_name>.
尽量避免使用“-”,“.”,因为有可能引起混乱。
只要你愿意元素的名字可以很长,但也不要太夸张了哦。命名应该遵循简单易读的原则,例如:<book_title>是一个不错的名字,而<the_title_of_the_book>则显得罗嗦了。
xml文档往往都对应着数据表,我们应该尽量让数据库中的字段的命名和相应的xml文档中的命名保持一致,这样可以方便数据变换。
非英文/字符/字符串也可以作为xml元素的名字,例如<蓝色理想><经典论坛>这都是完全合法的名字。但是有一些软件不能很好的支持这种命名,所以尽量使用英文字母来命名。
在xml元素命名中不要使用":",因为xml命名空间需要用到这个十分特殊的字符。
推荐阅读
-
C#实现的xml操作类完整实例
-
Android xml文件的序列化实现代码
-
用XML+FSO+JS实现服务器端文件的选择
-
配置c3p0-config.xml数据库连接池,jdbcurl配置项报错Type The reference to entity "useUnicode" must end with the ';' delimiter.
-
python将xml xsl文件生成html文件存储示例讲解
-
MyEclipse中怎么创建xml约束文件DTD?
-
php实现的数组转xml案例分析
-
用asp实现把文件打包成Xml文件包,带解包的ASP工具附下载
-
C#从文件流读取xml文件到DataSet并显示的方法
-
用Python解析XML的几种常见方法的介绍