雷林鹏分享:XML 属性
XML 属性
XML元素具有属性,类似 HTML。
属性(Attribute)提供有关元素的额外信息。
XML 属性
在 HTML 中,属性提供有关元素的额外信息:
  
属性通常提供不属于数据组成部分的信息。在下面的实例中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要:
computer.gif
XML 属性必须加引号
属性值必须被引号包围,不过单引号和双引号均可使用。比如一个人的性别,person 元素可以这样写:
或者这样也可以:
如果属性值本身包含双引号,您可以使用单引号,就像这个实例:
或者您可以使用字符实体:
XML 元素 vs. 属性
请看这些实例:
Anna
Smith
female
Anna
Smith
在第一个实例中,sex 是一个属性。在第二个实例中,sex 是一个元素。这两个实例都提供相同的信息。
没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用元素吧。
我最喜欢的方式
下面的三个 XML 文档包含完全相同的信息:
第一个实例中使用了 date 属性:
Tove
Jani
Reminder
Don't forget me this weekend!
第二个实例中使用了 date 元素:
10/01/2008
Tove
Jani
Reminder
Don't forget me this weekend!
第三个实例中使用了扩展的 date 元素(这是我的最爱):
10
01
2008
Tove
Jani
Reminder
Don't forget me this weekend!
避免 XML 属性?
因使用属性而引起的一些问题:
属性不能包含多个值(元素可以)
属性不能包含树结构(元素可以)
属性不容易扩展(为未来的变化)
属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
不要做这样的蠢事(这不是 XML 应该被使用的方式):
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
针对元数据的 XML 属性
有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方式与 HTML 中 id 属性是一样的。这个实例向我们演示了这种情况:
Tove
Jani
Reminder
Don't forget me this weekend!
Jani
Tove
Re: Reminder
I will not
上面的 id 属性仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分。
在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
(编辑:雷林鹏 来源:网络)
雷林鹏分享:XML 属性的更多相关文章
- 雷林鹏分享: XML CDATA
		
XML CDATA XML 文档中的所有文本均会被解析器解析. 只有 CDATA 区段中的文本会被解析器忽略. PCDATA - 被解析的字符数据 XML 解析器通常会解析 XML 文档中所有的文本. ...
 - 雷林鹏分享:XML 语法规则
		
XML 语法规则 XML 的语法规则很简单,且很有逻辑.这些规则很容易学习,也很容易使用. 所有的 XML 元素都必须有一个关闭标签 在 HTML 中,某些元素不必有一个关闭标签: This is a ...
 - 雷林鹏分享:XML 验证
		
XML 验证 拥有正确语法的 XML 被称为"形式良好"的 XML. 通过 DTD 验证的XML是"合法"的 XML. 形式良好的 XML 文档 "形 ...
 - 雷林鹏分享:XML 命名空间
		
XML 命名空间 XML 命名空间提供避免元素命名冲突的方法. 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突. 这个 XML 携带 HTML ...
 - 雷林鹏分享:XML DOM
		
XML DOM DOM(Document Object Model 文档对象模型)定义了访问和操作文档的标准方法. XML DOM XML DOM(XML Document Object Model) ...
 - 雷林鹏分享:XML 编码
		
XML 编码 XML 文档可以包含非 ASCII 字符,比如挪威语 æ ø å,或者法语 ê è é. 为了避免错误,需要规定 XML 编码,或者将 XML 文件存为 Unicode. XML 编码错 ...
 - 雷林鹏分享:XML 注意事项
		
XML 注意事项 这里列出了您在使用 XML 时应该尽量避免使用的技术. Internet Explorer - XML 数据岛 它是什么?XML 数据岛是嵌入到 HTML 页面中的 XML 数据. ...
 - 雷林鹏分享:XML 实例
		
XML 实例 这些例子演示了 XML 文件.XML 格式化和 XML 转换(XSLT). 还演示了与 XML 一起使用的 JavaScript(AJAX). 查看 XML 文件 查看一个简单的 XML ...
 - 雷林鹏分享:XML 总结 下一步学习什么呢?
		
XML 总结 下一步学习什么呢? XML 总结 XML 可用于交换.共享和存储数据. XML 文档形成 树状结构,在"根"和"叶子"的分支机构开始的. XML ...
 
随机推荐
- linux物理网卡检测命令mii-tool
			
mii-tool #是用于查看.管理物理的网络接口的状态,还可以配置网卡需要的协商方式. 一 ,查看网卡工作状态 mill-tool [网卡名] #查看物理网卡连接状态 -V 显示版本信息 ...
 - Java常用API-高级
			
---恢复内容开始--- Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.所有类在创建对象的时候,最终找的父类就是Object. * String toStri ...
 - Loader
			
1.定义 可以把Loader当做一个占位符,即占有屏幕的某一个空间,当加载了组件之后,这个空间就能显示相应的图形了.所以可以给Loader设置anchor布局 2.加载组件 source:加载QML文 ...
 - Flask学习【第2篇】:Flask基础
			
知识点回顾 flask依赖wsgi,实现wsgi的模块:wsgiref,werkzeug,uwsgi 实例化Flask对象,里面是有参数的 app = Flask(__name__,template_ ...
 - x盒子
			
0换成1切回
 - html 之 table cellpadding,cellspacing
			
单元格(cell) -- 表格的内容 单元格边距(表格填充)(cellpadding) -- 代表单元格外面的一个距离,用于隔开单元格与单元格空间 单元格间距(表格间距)(cellspacing) - ...
 - GCN code parsing
			
GCN code parsing 2018-07-18 20:39:11 utils.py --- load data def load_data(path="../data/cora/ ...
 - 物体检测算法 SSD 的训练和测试
			
物体检测算法 SSD 的训练和测试 GitHub:https://github.com/stoneyang/caffe_ssd Paper: https://arxiv.org/abs/1512.02 ...
 - Math.random 随机数方法
			
随机取数方法 Math.random() 表示0到1之间随机取一个数 <x< 小数 Math.random()* 表示0<x< parseInt(Math.random()*) ...
 - Twitter REST API, Streaming API
			
原文链接 用Twitter自己的话来说: REST API The REST API provides simple interfaces for most Twitter f ...