要点:建议优先选用属性的方式记录数据,除非还需要包容层级式的数据。

优点:

1. 可以完全覆盖关系型数据库的数据格式设计,利于交换。

2. 占用空间小。相当于 JSON 格式,不再有大量重复的节点名后缀(包括元素和子元素的):

2.1 属性方式,内存占用 577 字节:

<?xml version="1.0" encoding="UTF-8"?>
<Basis><!--这是佛经的数据库--><Content id="1" category="般若" name="金刚般若波罗密多经" version="1"/><Content id="1" category="般若" name="金刚般若波罗密多经" version="1"/><Content id="1" category="般若" name="金刚般若波罗密多经" version="1"/><Content id="1" category="般若" name="金刚般若波罗密多经" version="1"/><Content id="1" category="般若" name="金刚般若波罗密多经" version="1"/><Content id="1" category="般若" name="金刚般若波罗密多经" version="1"/></Basis>

2.2 元素方式,内存占用 781 字节:

<?xml version="1.0" encoding="UTF-8"?>
<Basis><!--这是佛经的数据库--><Content><id>1</id><category>般若</category><name>金刚般若波罗密多经</name><version>1</version></Content><Content><id>1</id><category>般若</category><name>金刚般若波罗密多经</name><version>1</version></Content><Content><id>1</id><category>般若</category><name>金刚般若波罗密多经</name><version>1</version></Content><Content><id>1</id><category>般若</category><name>金刚般若波罗密多经</name><version>1</version></Content><Content><id>1</id><category>般若</category><name>金刚般若波罗密多经</name><version>1</version></Content><Content><id>1</id><category>般若</category><name>金刚般若波罗密多经</name><version>1</version></Content></Basis>

建议:只要把 Xml 的数据格式设计成关系型数据库的格式,就能完全的使用属性的方式来储存数据。利用标准格式的分表体系来完成辅助数据的储存,可以参考我的另一篇文章“数据库 BCDE”。

Xml 建议优先使用属性的更多相关文章

  1. 基于xml文件实现系统属性配置管理

    文章标题:基于xml文件实现系统属性配置管理 . 文章地址: http://blog.csdn.net/5iasp/article/details/11774501 作者: javaboy2012 E ...

  2. 使用dom4j工具:获取xml中的标签属性(三)

    package dom4j_read; import java.io.File; import java.util.List; import org.dom4j.Attribute; import o ...

  3. 编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]

    前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托 ...

  4. hibernate的.hbm.xml文件文件配置属性详解

    一般.hbm.xml文件如下面: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "- ...

  5. XML中<beans>中属性概述

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...

  6. jboss:在standalone.xml中设置系统属性(system-properties)

    就象在.net的web应用中,可以在web.config中设置appSettings一样,jboss的standalone.xml中也可以由开发人员自行添加系统属性,用法如下: </extens ...

  7. XML中的DOCTYPE属性

    一.先来两个小例子 内部dtd将standalone设为真. <?xml version="1.0" standalone="yes"?> < ...

  8. c# XML序列化与反序列化 属性字段标识

    序列化对象 public class People { [XmlAttribute("NAME")] public string Name { set; get; } [XmlAt ...

  9. 通过struts.xml搭建、为属性注入值_2015.01.04

    01:web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version=& ...

随机推荐

  1. bzoj4691: Let There Be Light

    如果原点能被一个光源照到,那么这两个点之间一定没有任何球.我们可以通过三分距离来确定某线段和球是否有交点. 注意到m非常小,于是我们可以枚举原点被哪些光源照到.由于\(O(2^{n}*m)\)会超时, ...

  2. php模拟http请求的方法

    我在这里终结了三种方法 第一种方法:fsockopen $flag = 0; $post = ''; $errno = ''; $errstr = ''; //要post的数据 $argv = arr ...

  3. 【JavaScript】JS 中 原始字符串 和 HTML 字符转换

    参考资料:http://www.sjyhome.com/javascript/js-html-escape.html JS转换HTML转义符 SJY • 发表于:2013年10月05日 17:04 • ...

  4. poj 3614

    http://poj.org/problem?id=3614 题意:有n头奶牛想要晒太阳,但他们每个人对太阳都有不同的耐受程度,也就是说,太阳不能太大也不能太小,现在有一种防晒霜,涂抹这个防晒霜可以把 ...

  5. Uiautomator-----新建工程

    一.前提: 安装好安卓开发环境:jdk.安卓SDK.ADT.ant.eclipse   配置环境   二.新建uiautomator工程 1.打开eclipse,新建一个工程(这个网上资料很多,大家自 ...

  6. APM程序分析-AC_WPNav.cpp

    APM程序分析 主程序在ArduCopter.cpp的loop()函数. /// advance_wp_target_along_track - move target location along ...

  7. SQL添加维护 计划失败

    在sql要求数据库每天自动备份这个是大家都会遇到的问题,我遇到了这个问题如图: 是因为这个服务组件没有安装

  8. LINQ

    lambda表达式: LINQ to Object: 参考:http://www.cnblogs.com/leon-y-liu/articles/3575009.html LINQ to XML: u ...

  9. Linux中的用户和用户组

      在Linux中,有三种用户: Root 用户:也称为超级用户,对系统拥有完全的控制权限.超级用户可以不受限制的运行任何命令.Root 用户可以看做是系统管理员. 系统用户:系统用户是Linux运行 ...

  10. SQL中TOP,LIMIT,ROWNUM的用法

    SQL SERVER/MS Access的Select Top的用法: Select TOP number|percent table_columname FROM tablename MySQL/O ...