W3C组织认为:属性通常提供不属于数据组成部分的信息,如果属性值里包含的信息属于该实体本身,则应该使用子元素来指定此信息。简而言之,W3C推荐尽量使用子元素,而避免使用属性。
使用属性有如下几个缺点:
- 属性无法包含多个值,而通过扩展子元素则可以包含多个值。
- 属性无法描述树状结构,而子元素可以。
- 属性不易扩展。
- 属性难以阅读和维护。
举例:如web.xml配置servlet组件
<servlet>
<servlet-name>spring3mvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>spring3mvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
这是通常的配置格式,但如下配置格式就不能通过:
<servlet servlet-name="spring3mvc" servlet-class="org.springframework.web.servlet.DispatcherServlet"/>
<servlet-mapping servlet-name="spring3mvc" url-pattern="*.do"/>
虽然W3C组织在XML问题上是权威的,但由于使用属性存储信息比使用子元素来存储信息要简洁得多,如果大量使用子元素来存储信息,将导致XML文档增长速度还快,不用多久就会臃肿不堪,因此现在主流的Java框架更倾向于使用属性方式来存储信息。
当然,实际开发中如果使用XML交换数据,依然应该优先考虑使用子元素来存储数据。
分享到:
相关推荐
用c#实现XML的dom接口,一般根据元素来找比较容易,根据属性稍显麻烦,而且设计到三个不同的节点。这个对大家应该有用吧。是自己做的哦!
android所有的可自定义xml资源的元素及子元素用法
CreateSubElement 演示通过XElement创建具有子元素的XML元素。 CreateXMLTree 演示通过XElement创建复杂的完整的XML树。 QeuryAttributesElement 演示通过XElement查询XML元素的属性。 QueryInContent ...
功能:创建XML文件的根节点 参数:[in] sName 根节点的节点名 返回:true创建成功 false创建失败 **************************************/ bool CreateRootNode(CString sName); /************************...
用于处理XML文档的DOM元素属性 代码如下: childNodes:返回当前元素所有子元素的数组; firstChild:返回当前元素的第一个下级子元素; lastChild:返回当前元素的最后一个子元素; nextSibling:返回紧跟在当前元素...
12.3 选择元素 12.4 继承性 12.5 级联过程 12.6 在CSS样式单中添加注释 12.7 CSS中的单位 12.8 块、内联或列表项元素 12.9 字体属性 12.10 颜色属性 12.11 背景属性 12.12 文本属性 12.13 框...
2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 字符转义 < 代表 ", > 代表 ">" , &...
8.5.10 带括号的子元素 215 8.5.11 混合内容 217 8.5.12 空元素 218 8.6 DTD中的注释 220 8.7 在文档间共享通用的DTD 228 8.7.1 远程URL上的DTD 235 8.7.2 公共的DTD 236 8.7.3 内部和外部DTD子集 237 8.8 本章小结 ...
定义元素和属性的默认值以及固定值 XML Schema 是 DTD 的继任者 我们认为 XML Schema 很快会在大部分网络应用程序中取代 DTD。 理由如下: XML Schema 可针对未来的需求进行扩展 XML Schema 更完善,功能更强大 XML...
8.5.10 带括号的子元素... 215 8.5.11 混合内容... 217 8.5.12 空元素... 218 8.6 DTD中的注释... 220 8.7 在文档间共享通用的DTD.. 228 8.7.1 远程URL上的DTD.. 235 8.7.2 公共的DTD.. 236 8.7.3 内部和外部...
8.5.10 带括号的子元素 215 8.5.11 混合内容 217 8.5.12 空元素 218 8.6 DTD中的注释 220 8.7 在文档间共享通用的DTD 228 8.7.1 远程URL上的DTD 235 8.7.2 公共的DTD 236 8.7.3 内部和外部DTD子集 237 8.8 本章小结 ...
DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或...
8.5.10 带括号的子元素... 215 8.5.11 混合内容... 217 8.5.12 空元素... 218 8.6 DTD中的注释... 220 8.7 在文档间共享通用的DTD.. 228 8.7.1 远程URL上的DTD.. 235 8.7.2 公共的DTD.. 236 8.7.3 内部和外部...
2.3.6 子元素 2.3.7 元素嵌套 2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 ...
GetChildren 得到所有的子元素 GetAttributeNames 得到所以的属性列表 GetAttribute 得到某个属性的值 GetText 得到文件值 GetName 得到元素名字 CFileWriter写XML文件的流程 CONode GetRootNode(); 得到根节点...
主要为大家详细介绍了Java使用DOM4j实现读写XML文件的属性和元素,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
XML编程技术和实例.XML处理器会将开始标记和结束标记之间的出现的字符数据,包括可见和非可见字符视为元素的内容,而属性的值也是一种字符数据 . 处理指令(Processing Instruction,PI)允许文档包含应用程序的指令...
2.3.6 子元素 2.3.7 元素嵌套 2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 ...
2.3.6 子元素 2.3.7 元素嵌套 2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 ...
xmlTools.enableXmlTreeViewMetadata :在XML Document视图中启用属性和子元素计数。 xmlTools.enableXmlTreeViewCursorSync :在编辑器中单击开始标记时,启用XML文档视图中元素的自动显示。 xmlTools....