如何设计在xml中存储复杂对象设置

我试图在对象本身上存储每个对象状态的自定义设置,但我不知道如何以面向对象的方式执行此操作.所以:

xml文件中的一个部分是:

<ObjectType>

可以是Blur,Sharpen,Smooth等.

但是说Blur只有在类型为Blur时才存储其他属性,例如:

<BlurType>Gaussian,Smart,etc</BlurType>

此外,我不确定是否应将这些存储为:

<a>something</a>

要么

<a>Type=something</a>
永远不要在XML中存储分隔数据.

也就是说,永远不会有一个元素包含逗号分隔值列表,或等号分隔值,或类似的东西. XML为您提供了创建列表的机制,如果您计划使用它,则不应重新发明.

存储像你正在谈论的列表的“XML方式”是这样的:

<BlurType>
  <option>Gaussian</option>
  <option>Smart</option>
  ...
</BlurType>

或者,如果您有一组可以打开或关闭的特定值,

<BlurType>
  <Gaussian>true</Gaussian>
  <Smart>true</Smart>
  ...
</BlurType>

第二种方法可以比第一种方法更严格地验证XSD.第一种是更灵活.你不希望在XML中的任何地方存储类型=某些东西.两者之间的中间地带将如下工作:

<BlurType>
  <option name="Gaussian">true</option>
  <option name="Smart">true</option>
  ...
</BlurType>

这提供了灵活性,同时您可以针对XSDDTD验证name属性和选项元素的值.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇