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

优点:

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. 基于libvlc和wxWidgets的简单播放器代码阅读

    源代码来自 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=doc/libvlc/wx_player.cpp // g++ wx_player.cp ...

  2. Objective-C中的浅拷贝和深拷贝(转载)

    本文转自:http://segmentfault.com/blog/channe/1190000000604331 浅拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间.如: ...

  3. java 对象序列化与反序列化

    Java序列化与反序列化是什么? 为什么需要序列化与反序列化? 如何实现Java序列化与反序列化? 本文围绕这些问题进行了探讨. 1.Java序列化与反序列化  Java序列化是指把Java对象转换为 ...

  4. UIPickerView去掉背景上的黑线

    - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger) ...

  5. 20. Valid Parentheses

    1.题目: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if th ...

  6. windows

    1.拷贝远程文件 net use \\10.130.80.62\ipc$ 密码 /user:用户名 xcopy "\\10.130.80.62\G$\yt\apache-tomcat-7.0 ...

  7. MVC 解决 readonly 问题

    <input type="text" class="form-control" name="UR_UserName" value=&q ...

  8. Python 下载网络mp4视频资源

    最近着迷化学, 特别是古代的冶炼技术,感叹古人的聪明. 春秋时期的炼铁方法是块炼铁,即在较低的冶炼温度下,将铁矿石固态还原获得海绵铁,再经锻打成的铁块.冶炼块炼铁,一般采用地炉.平地筑炉和竖炉3种.铁 ...

  9. 【DWR系列01】-DWR简介及入门例子

    .literal { background-color: #f2f2f2; border: 1px solid #cccccc; padding: 1px 3px 0; white-space: no ...

  10. ORA-12541:TNS没有监听器

    cmd---services.msc----以Oracle开头TNListener结尾的服务启动它 如果还没有启动,修改注册表,Win+r,输入regedit回车,找到HKEY_LOCAL_MACHI ...