`
DanielHan
  • 浏览: 53651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
074641d7-eb86-343f-a745-65a0f693edb5
设计模式
浏览量:7077
社区版块
存档分类
最新评论

xml属性和子元素的选择

    博客分类:
  • xml
xml 
阅读更多
    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交换数据,依然应该优先考虑使用子元素来存储数据。
0
1
分享到:
评论

相关推荐

    XML中dom根据属性检索节点(C#)

    用c#实现XML的dom接口,一般根据元素来找比较容易,根据属性稍显麻烦,而且设计到三个不同的节点。这个对大家应该有用吧。是自己做的哦!

    Android Drawable 全部 xml 元素和属性用法

    android所有的可自定义xml资源的元素及子元素用法

    示例描述:本章介绍LINQ to XML相关技术和使用

    CreateSubElement 演示通过XElement创建具有子元素的XML元素。 CreateXMLTree 演示通过XElement创建复杂的完整的XML树。 QeuryAttributesElement 演示通过XElement查询XML元素的属性。 QueryInContent ...

    v1.2 解析XML文件 读取XML文件 保存XML文件 添加节点 删除节点 修改节点 添加属性 修改/删除属性

    功能:创建XML文件的根节点 参数:[in] sName 根节点的节点名 返回:true创建成功 false创建失败 **************************************/ bool CreateRootNode(CString sName); /************************...

    处理及遍历XML文档DOM元素属性及方法整理

    用于处理XML文档的DOM元素属性 代码如下: childNodes:返回当前元素所有子元素的数组; firstChild:返回当前元素的第一个下级子元素; lastChild:返回当前元素的最后一个子元素; nextSibling:返回紧跟在当前元素...

    《XML实用大全》电子文档

    12.3 选择元素 12.4 继承性 12.5 级联过程 12.6 在CSS样式单中添加注释 12.7 CSS中的单位 12.8 块、内联或列表项元素 12.9 字体属性 12.10 颜色属性 12.11 背景属性 12.12 文本属性 12.13 框...

    xml入门教程/xml入门教程

    2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 字符转义 &lt; 代表 ", &gt; 代表 "&gt;" , &...

    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简明教程-W3C.rar

    定义元素和属性的默认值以及固定值 XML Schema 是 DTD 的继任者 我们认为 XML Schema 很快会在大部分网络应用程序中取代 DTD。 理由如下: XML Schema 可针对未来的需求进行扩展 XML Schema 更完善,功能更强大 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 内部和外部...

    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轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或...

    XML实用大全(web开发必备手册)

    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 内部和外部...

    XML高级编程pdf

    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 ...

    我叫MT3bin转XML

    GetChildren 得到所有的子元素 GetAttributeNames 得到所以的属性列表 GetAttribute 得到某个属性的值 GetText 得到文件值 GetName 得到元素名字 CFileWriter写XML文件的流程 CONode GetRootNode(); 得到根节点...

    Java使用DOM4j实现读写XML文件的属性和元素

    主要为大家详细介绍了Java使用DOM4j实现读写XML文件的属性和元素,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    《XML编程原理与实例教程》电子教案

    XML编程技术和实例.XML处理器会将开始标记和结束标记之间的出现的字符数据,包括可见和非可见字符视为元素的内容,而属性的值也是一种字符数据 . 处理指令(Processing Instruction,PI)允许文档包含应用程序的指令...

    xml入门经典-part3(中文版)

    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 ...

    XML 高级编程(高清版)

    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 ...

    vscode-xml:用于Visual Studio代码的XML工具

    xmlTools.enableXmlTreeViewMetadata :在XML Document视图中启用属性和子元素计数。 xmlTools.enableXmlTreeViewCursorSync :在编辑器中单击开始标记时,启用XML文档视图中元素的自动显示。 xmlTools....

Global site tag (gtag.js) - Google Analytics