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

优点:

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. 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...

  2. BZOJ 2081: [Poi2010]Beads

    Description 问把n截成每个长度后不同子串个数. Sol 调和极数+Hash. 首先这是一个式子 \(n\sum_{i=1}^n \frac {1}{i}\) . 这东西就是调和极数再乘上 ...

  3. apache如何解决跨域资源访问

    很多时候,大中型网站为了静态资源分布式部署,加快访问速度,减轻主站压力,会把静态资源(例如字体文件.图片等)放在独立服务器或者CDN上,并且使用独立的资源域名(例如res.test.com) 但是在实 ...

  4. C# 中的委托和事件

    觉得这篇文章写的非常好,大神之作,由简入繁,对我这种初学者来说帮忙很大,特此留存下. 摘自:http://tracefact.net/CSharp-Programming/Delegates-and- ...

  5. Sublime Text:Windows下配置C 编译环境和GDB调试环境

    写此文解决两个问题: 1.在Sublime Text中实现编译运行含有外部输入的C程序(如含有scanf的程序); 2.在程序运行完毕后不退出cmd,能继续用gdb调试程序. 一.MinGW 下载地址 ...

  6. 一篇很好的Java、C、PHP、前端、Android、IOS的文章

    http://www.cctime.com/html/2016-11-8/1238265.htm 很好的讲了这些技术的学习路线,其中的文档资料很丰富,值得学习参考

  7. 游戏的套路你知道吗? H5 Canvas刮刮乐

    玩游戏的人 很多时候都会遇到翻牌子  开宝箱. 总有人傻傻的在哪里还纠结很久到底点哪一个! 纠结  指不定翻哪一个会多一点,你明明看到那个卡片的奖项多 . 那我就告诉你好了  其实很多时候在你点开那个 ...

  8. SQL 隐藏手机号中间四位

    SELECT INSERT(mobile, 4, 4, '****')AS Mobile from Users ;

  9. 第三十四篇:在SOUI中使用异步通知

    概述 异步通知是客户端开发中常见的需求,比如在一个网络处理线程中要通知UI线程更新等等. 通常在Windows编程中,为了方便,我们一般会向UI线程的窗口句柄Post/Send一个窗口消息从而达到将非 ...

  10. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...