Xml 建议优先使用属性
要点:建议优先选用属性的方式记录数据,除非还需要包容层级式的数据。
优点:
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 建议优先使用属性的更多相关文章
- 基于xml文件实现系统属性配置管理
文章标题:基于xml文件实现系统属性配置管理 . 文章地址: http://blog.csdn.net/5iasp/article/details/11774501 作者: javaboy2012 E ...
- 使用dom4j工具:获取xml中的标签属性(三)
package dom4j_read; import java.io.File; import java.util.List; import org.dom4j.Attribute; import o ...
- 编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]
前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托 ...
- hibernate的.hbm.xml文件文件配置属性详解
一般.hbm.xml文件如下面: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "- ...
- XML中<beans>中属性概述
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...
- jboss:在standalone.xml中设置系统属性(system-properties)
就象在.net的web应用中,可以在web.config中设置appSettings一样,jboss的standalone.xml中也可以由开发人员自行添加系统属性,用法如下: </extens ...
- XML中的DOCTYPE属性
一.先来两个小例子 内部dtd将standalone设为真. <?xml version="1.0" standalone="yes"?> < ...
- c# XML序列化与反序列化 属性字段标识
序列化对象 public class People { [XmlAttribute("NAME")] public string Name { set; get; } [XmlAt ...
- 通过struts.xml搭建、为属性注入值_2015.01.04
01:web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version=& ...
随机推荐
- Mosquitto搭建Android推送服务(一)MQTT简介
总体概要: MQTT系列文章分为4部分 1.MQTT简介 2.mosquitto服务器搭建 3.编写Mosquitto的可视化工具 4.使用Mosquitto完成Android推送服务 文章钢要: 对 ...
- js:使用js过程中遇到的一个小问题
在一个作业中使用了js,函数A调用函数B.当A和B中均含有变量i的时候,相关操作结果可能会出错. 将B中的i替换为j(j不存在于A中)后,结果正确. 目前考虑原因是两个变量i有相关性(或者说实际上就是 ...
- js之iframe子页面与父页面通信
iframe子页面与父页面通信根据iframe中src属性是同域链接还是跨域链接,通信方式也不同. 一.同域下父子页面的通信 父页面parent.html <html> <head& ...
- C# 金钱 小写转大写的算法
调用 ConvertMoney的ConvertMoneyToWords(decimal money)方法即可 using System; using System.Collections.Generi ...
- Shell 字符串的截取
直接上代码了. linux-:/.sh #!/bin/sh STR=HelloWorld echo 'STR == ' $STR :} # == } #结果为World } # Use : ${STR ...
- JavaCV配置
下载javacv-1.2-bin.zip https://github.com/bytedeco/javacv 解压 在Eclipse项目 Referenced Libraries 中 Add Ext ...
- JS中定义对象原型的两种使用方法
第一种: function Person() { this.username = new Array(); this.password = "123"; } Person.prot ...
- WPF 动画显示控件
当我们要显示一个控件的时候,不仅仅要显示这个控件,还要有动画的效果. 主要用到了DoubleAnimation类. public static void ShowAnimation(object co ...
- Python 下载网络mp4视频资源
最近着迷化学, 特别是古代的冶炼技术,感叹古人的聪明. 春秋时期的炼铁方法是块炼铁,即在较低的冶炼温度下,将铁矿石固态还原获得海绵铁,再经锻打成的铁块.冶炼块炼铁,一般采用地炉.平地筑炉和竖炉3种.铁 ...
- 如何用 SQL Tuning Advisor (STA) 优化SQL语句
在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等.在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning ...