我试图在对象本身上存储每个对象状态的自定义设置,但我不知道如何以面向对象的方式执行此操作。所以:
xml文件中的一个部分是:
<ObjectType>
可以是Blur, Sharpen, Smooth,
等。
但请说Blur
只有在类型为Blur
时才会存储其他属性,例如:
<BlurType>Gaussian, Smart, etc</BlurType>
此外,我不确定是否应将这些存储为:
<a>something</a>
或
<a>Type=something</a>
答案 0 :(得分:5)
也就是说,永远不会有一个包含逗号分隔值列表或等号分隔值的元素,或类似的东西。 XML为您提供了创建列表的机制,如果您计划使用它,则不应重新发明。
存储像你正在谈论的列表的“XML方式”是这样的:
<BlurType>
<option>Gaussian</option>
<option>Smart</option>
...
</BlurType>
或者,如果您有一组可以打开或关闭的特定值,
<BlurType>
<Gaussian>true</Gaussian>
<Smart>true</Smart>
...
</BlurType>
第二种方法可以比XSD更严格地验证XSD。首先是更灵活。您不希望将type=something
之类的内容存储在XML中的任何位置。两者之间的中间地带可以这样工作:
<BlurType>
<option name="Gaussian">true</option>
<option name="Smart">true</option>
...
</BlurType>
答案 1 :(得分:1)
无论
<ObjectType name="Blur" type="Gaussian" />
或
<ObjectType>
<Name>Blur</Name>
<Type>Gaussian</Type>
</ObjectType>
将是我的前两个选择。