XML新手入门教程:了解学习 XML 属性

xml|教程|入门教程

与HTML类似,XML元素也可以在开始标签中包含属性。

属性被用于提供关于元素的附加信息。

XML 属性

XML元素可拥有属性。

回忆一下HTML的这个标签:<IMG SRC="http://www.webjx.com/htmldata/2007-06-20/computer.gif">。SRC属性提供了关于img元素的附加信息。

在HTML(以及XML)中,属性可提供有关元素的附加(额外的)信息:

<img src="http://www.webjx.com/htmldata/2007-06-20/computer.gif"><a href="demo.asp">

属性常常会提供并非数据组成部分的信息。在下面的例子中,文件的类型和数据是无关的,但是对需要处理这个元素的软件来说却很重要:

<file type="gif">http://www.webjx.com/htmldata/2007-06-20/computer.gif</file>

引号类型,"female" 还是 'female'?

属性值必须被引号所包围,不过单引号和双引号均可使用。比如某人的性别,person标签可以这样写:

<person sex="female">

或者这样也可以:

<person sex='female'>

注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:

<gangster name='George "Shotgun" Ziegler'>

注释:如果属性值本身包含单引号,那么有必要使用双引号包围它,就像这个例子:

<gangster name="George 'Shotgun' Ziegler">

使用元素还是属性

数据可被存储于子元素之中,或者在属性中也可以。

请看这些例子:

<person sex="female">  <firstname>Anna</firstname>  <lastname>Smith</lastname></person>
<person>  <sex>female</sex>  <firstname>Anna</firstname>  <lastname>Smith</lastname></person>

在第一个例子中,sex是一个属性。在第二个例子中,sex则是一个子元素。两个例子均可提供相同的信息。

没有规则可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经验是在HTML中,属性用起来很便利,但是在XML中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。

我最喜欢的方式

我喜欢在子元素中存储数据。

下面是三个包含相同的信息的XML文档:

第一个例子中使用了属性:

<note date="12/11/2002"><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>

第二个例子中使用了元素:

<note><date>12/11/2002</date><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>

第三个例子中使用了扩展的元素(这是我的最爱):

<note><date>  <day>12</day>  <month>11</month>  <year>2002</year></date><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note> 

避免使用属性?

我们应当避免使用属性吗?

因使用属性而引起的一些问题:

  • 属性无法包含多个值(子元素可以)
  • 属性不易扩展(为未来的变化)
  • 属性无法描述结构(子元素可以)
  • 属性更难被编程代码处理
  • 不易通过某个DTD对属性值进行测试 - DTD用来定义XML文档的合法元素

如果您使用属性作为数据的容器,那么就会造就难以阅读和维护的文档。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

不要做这样的蠢事(这不是XML应该被使用的方式):

<note day="12" month="11" year="2002"to="Tove" from="Jani" heading="Reminder" body="Don't forget me this weekend!"></note> 

属性规则的一个例外

规则总有例外。

有时候,我会向元素分配ID索引。这些ID索引可被用来访问XML元素,其作用的方式与HTML中的NAME属性或者ID属性是一样的。这个例子向我们演示了这种情况:

<messages>  <note id="p501">    <to>Tove</to>    <from>Jani</from>    <heading>Reminder</heading>    <body>Don't forget me this weekend!</body>  </note>  <note id="p502">    <to>Jani</to>    <from>Tove</from>    <heading>Re: Reminder</heading>    <body>I will not!</body>  </note> </messages>

这个例子中的ID只是一个计数器,或者一个唯一的标识符,用来标示XML文件中不同的便签,并不是便签数据的一部分。

在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索,以便于您获取更多的相关知识。

时间: 2024-10-26 09:56:27

XML新手入门教程:了解学习 XML 属性的相关文章

MindManager新手入门教程

MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强大的功能可以快速捕捉.组织和共享思维.想法.资源和项目进程等等.MindManager新手入门教程专为新手用户设计,包含创建思维导图基本入门操作,让用户快速上手. MindManager思维导图主要由中心主题.主题.子主题.附注主题.浮动主题.关系线等模块构成,通过这些导图模块可以快速创建您需要的思维导图,以下步骤教您如何使用MindManager创建思维导图: 第一步 打开MindManager软件,软件

PostgreSQL新手入门教程_PostgreSQL

自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用. 安装 1.首先,安装PostgreSQL客户端.   sudo apt-get install postgresql-client 然后,安装PostgreSQL服务器.   sudo apt-get install postgresql 2.正常情

XML开发入门基础:查看XML文件

在所有现代浏览器中,可能够查看原始的XML文件. 不要指望XML文件会直接显示为HTML页面. 查看XML文件 开发入门基础:查看XML文件-">查看这个XML文件:note.xml 打开XML文件 -XML文档将显示为代码颜色化的根以及子元素.通过点击元素左侧的加号或减号,可以展开或收起元素的结构.如需查看不带有 + 和 - 符号的源代码,请从浏览器菜单中选择"查看源代码". 注释:在Netscape, Opera 以及Safari 中,仅仅会显示元素文本!要查看原始

PS利用图片简单几步制作马赛克科技背景新手入门教程

教程中教大家用PS简单几步制作马赛克科技背景效果,适合刚入门的新手朋友,主要知识点就是应用滤镜,新手朋友们可以跟着做一下. 先看效果: 所用素材: 第一步:滤镜→→模糊→→高斯模糊 第二部:滤镜→→像素化→→马赛克 第三步:滤镜→→锐化→→锐化第四步:ctrl+F (重复上一滤镜) 重复三四次就得到我们要的效果了. 好了 我们可以试一下找一个色彩时尚艳丽的图片,按照上述步骤来试试看能做出什么样的效果呢 分类: PS入门教程

Photoshop CS6试用版抢先用一起来体验新手入门教程

由於梅干涉略的範圍愈來愈廣的,所以有些主題則無法面面俱到,而最近梅干也發現到,有不少的熱心的粉絲們, 還會幫忙代回,在這梅干也感謝這些熱心的朋友,而梅干今天要來分享什麼東東呢?那就是Adobe Photoshop CS6,哈!你沒看錯就是CS6,應該也 有不少朋友也有注意到,但大部分只聽其聞卻摸不到,今天梅干就讓各位就可體驗到,而此次的CS6版本則命名為Superstition,且在界面上也有了 重大的改變,以及更加強化3D的部分-但Adobe官網也沒有提供新版的試用,對於CS6有興趣的朋友,現

ajax入门教程:ajax分析xml文件

<?xml version="1.0" encoding="UTF-8"?> <lovelist>  <love>Php</love>  <love>Asp</love>  <love>Jsp</love> </lovelist> html文件代码如下,下面主要是把ajax 创建等代码放在里面了.如下. <html> <head> &l

Java新手入门教程:新手必须掌握的30条Java基本概念

  Java新手必看教程是什么?当然是绿茶小编带来的Java入门需掌握的30个基本概念啦,掌握了这些概念对于学习Java大大有利,正在学习Java编程的同学们快来看看吧. 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构 是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大 限度上

一贴学会PHP 新手入门教程_php基础

一贴学会PHP 系统长度32678字节,除去标点,还可以打一万字,如果写满,那也不短了.但是-本着,变态的简单,流畅到底的适合广大浮躁的MJJ们浏览的原则,我尽量精简的有效的实用的阐述PHP的学习之道. 本文适宜受众:熟练HTML,但是对PHP等动态语言一无所知,却在用dedecms或discuz等php程序的人.当然,还要你有想学PHP的兴趣.毕竟纵使再简单也需要学习的动力,兴趣无疑是最好的.不熟悉电脑操作,绝对路径,相对路径等东西的请上火星. 前提准备:态度:认真,细心,不浮躁.时间:仅需两

免费网赚新手入门教程指南与项目

网赚新闻指南 1. 文字教程 文字教程以博客.论坛.百度文库.百度经验.百度知道等一系列的文章问题对答形式在网络出现.有的写的详细清晰,有的繁杂难懂,有的错误百出,所以建议学习方式要多种并行,而且要跟着实践总结.   2. 视频教程 网络很多教程都是经验人士录制后以优酷.土豆.百度.新浪等形式上传到网络,内容目的虽然是为了宣传自己或者引流,但是大多内容都是真实可行的,适合新手学习了解的.   3. 图解教程 在一些知识博客站,会找到很多图文并茂的图示操作教程,比如如何安装一个wordpress网