【XML】XML元素属性详解
XML属性
XML也可以指定属性的,比如下面的代码:
<?xml version="1.0" encoding="UTF-8" ?>
<SALES><ORDER><ORDERITEM><PRODUCT><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A002</CODE><DESCRIPTION>Irish Creme Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>5</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>1</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A004</CODE><DESCRIPTION>Caramel Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>2</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A006</CODE><DESCRIPTION>Gourmet Coffee Travel Thermo</DESCRIPTION><PRICE>18.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT><CODE>A009</CODE><DESCRIPTION>Gourmet Coffee 36 Cup Filters</DESCRIPTION><PRICE>45.0</PRICE></PRODUCT><QUANTITY>100</QUANTITY></ORDERITEM></ORDER>
</SALES>
也可以改成:
<?xml version="1.0" encoding="UTF-8" ?>
<SALES><ORDER><ORDERITEM><PRODUCT code="A001" description="Almond Flavored Syrup" price="9.0"></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT code="A002" description="Irish Creme Flavored Syrup" price="9.0"></PRODUCT><QUANTITY>5</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT code="A001" description="Almond Flavored Syrup" price="9.0"></PRODUCT><QUANTITY>1</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT code="A004" description="Caramel Flavored Syrup" price="9.0"></PRODUCT><QUANTITY>2</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT code="A006" description="Gourmet Coffee Travel Thermo" price="18.0"></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT code="A009" description="Gourmet Coffee 36 Cup Filters" price="45.0"></PRODUCT><QUANTITY>100</QUANTITY></ORDERITEM></ORDER>
</SALES>
浏览器解析
有关XML属性必知必会
- 元素的属性表示了元素的额外信息
- 元素的属性值要加引号,必须加引号
- 元素的多个属性之间使用空格(“ ”)来分隔
- 某个元素的某个属性只能有一个值
- ……
XML属性要慎用
XML的属性不建议大量使用,因为这不是我们使用XML而想看到的。
列举三点因使用属性而可能引起的一些问题:
- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不容易扩展(难以应对未来的变化)
XML具有扩展性好的优点,但属性的滥用会带来XML文档的低可读性和低可维护性。
我们应该尽量使用元素来描述数据,而仅仅使用属性来提供与数据无关的信息。
特别是上面的例子,绝对不可取。这种用法,是典型的错误用法,我只是为了表示二者可以转化而已。。。
XML属性的健康使用
有时候会向元素分配 id 引用。这些 id 索引可用于唯一标识 XML 元素,它起作用的方式与 HTML 中 id 属性是类似的。
比如下面的代码:
<?xml version="1.0" encoding="UTF-8" ?>
<SALES><ORDER><ORDERITEM><PRODUCT id="202003010001"><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT id="202003010002"><CODE>A002</CODE><DESCRIPTION>Irish Creme Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>5</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT id="202003010003"><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>1</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT id="202003010004"><CODE>A004</CODE><DESCRIPTION>Caramel Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>2</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT id="202003010005"><CODE>A006</CODE><DESCRIPTION>Gourmet Coffee Travel Thermo</DESCRIPTION><PRICE>18.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT id="202003010006"><CODE>A009</CODE><DESCRIPTION>Gourmet Coffee 36 Cup Filters</DESCRIPTION><PRICE>45.0</PRICE></PRODUCT><QUANTITY>100</QUANTITY></ORDERITEM></ORDER>
</SALES>
上面的 id 属性仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分,所以不会有害,是XML属性的有益使用。
补充——特殊的实体字符
总结
元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
【XML】XML元素属性详解相关推荐
- 【JAVA秘籍心法篇-Spring】Spring XML解析源码详解
[JAVA秘籍心法篇-Spring]Spring XML解析源码详解 所谓天下武功,无坚不摧,唯快不破.但有又太极拳法以快制慢,以柔克刚.武功外式有拳打脚踢,刀剑棍棒,又有内功易筋经九阳神功.所有外功 ...
- pythonxml库_对python 生成拼接xml报文的示例详解
最近临时工作要生成xml报名,通过MQ接口发送.简单小程序. 自增长拼成xml报文 Test_001.py # encoding=utf-8 import time orderId = '' s1= ...
- java 配置jmstemplate_SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解...
1.导入jar包: org.springframework.boot spring-boot-starter-activemq org.apache.activemq activemq-pool 2. ...
- Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解 2016年10月04日 15:22:26 阅读数:7936 转自http://www.cnblogs ...
- HTML中元素的position属性详解
HTML中元素的position属性详解 转载自:https://blog.csdn.net/wangzunkuan/article/details/81540935 HTML中DOM元素有5种定位属 ...
- Android EditText 属性详解
Android EditText 属性详解 EditText,本文包含大部分开发中用到的属性. Android开发之EditText属性详解 1.EditText输入的文字为密码形式的设置 (1)通过 ...
- android layout_width 属性,android:layout_weight属性详解
在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提 ...
- java rollback_Spring中的@Transactional(rollbackFor = Exception.class)属性详解
序言 今天我在写代码的时候,看到了.一个注解@Transactional(rollbackFor = Exception.class),今天就和大家分享一下,这个注解的用法: 异常 如下图所示,我们都 ...
- java log4配置例子,log4j.properties配置属性详解与配置示例
log4j.properties配置属性详解与配置示例 发布时间:2018-03-27作者:laosun阅读(1535) log4j.properties配置属性详解与配置示例,拿走直接用!详细解答了 ...
最新文章
- 大量多风格多功能后台管理模板
- Apache 配置虚拟目录、主机的疑惑及解决
- Bootstrap组件1_字体图标
- [工具]微软的学习平台Microsoft Learn很好用,推荐一下
- Python爬虫项目---批量下载深圳证券信息
- 物化视图(materialized view) 实现数据迁移、数据定时同步
- 记一次非典型MySQL排错
- 仿淘宝收货地址,本地数据库
- 中国科学家dna计算机,我国首台DNA计算机问世
- 文件被别的程序打开无法删除怎么办?
- 精致简约的高速下载神器 - Motrix~~高速下载百度网盘资源!
- 计算机组成原理学习笔记(四)指令系统(学习王道)
- Ceph学习——客户端读写操作分析
- win10每回打开程序都弹出“是否允许更改设置”提示怎么办
- 如何用ssh隧道绕过防火墙
- 前端开发工程师必读书籍有哪些值得推荐?
- 《c primer plus》第六版|第二章|编程练习答案
- 【Python 3.7】喜欢的数字:使用一个字典来存储一些人喜欢的数字。
- 图像去雾算法的原理、实现、效果
- PHOTOSHOP 500典例特制 EXE电子书[转载]