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

前端之家收集整理的这篇文章主要介绍了如何设计在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属性和选项元素的值.

猜你在找的XML相关文章