1
8
我使用的模式是:
如果您使用的是XSD模式的大部分(如果不是所有的话),那么您的元数据都应该放在那里,但是如果您不使用属性,那么对于它来说是个好地方。 所以在你的例子中,我可能会这样做:
|
2
5
WCF的设计人员选择避免使用属性,主要是出于性能原因。WCF默认序列化程序DataContractSerializer不支持属性(因此可能需要考虑这一点),但它比.NET中更灵活的XmlSerializer快大约10%。 因此,如果您曾经看到自己在为WCF客户机提供要使用的内容,那么如果可能的话,您可能会试图避开属性。 属性只能是“原子的”,例如字符串、int等。—元素提供了更大的灵活性。此外,属性本身并不存在-它们总是附加到元素上。 从我的个人经验和个人偏好来看,我很可能会尽量使用元素,尽量避免使用属性。但这实际上只是个人偏好和品味——这些属性在XML中是绝对有效的,没问题。 |
3
3
这主要是一个品味问题,但也有一些技术上的考虑。属性在可以包含哪些字符方面受到了稍微更大的限制。他们有优势(?)这个命令无关紧要,但不能重复。这可能会根据您拥有的工具集稍微影响您的选择。 |
4
3
如果您的数据可以被认为具有两个级别,一个是核心数据,另一个是某种元数据(例如,某些元素的标签),那么您可能希望将元素用于前者,将属性用于后者,例如:
通常,如果除去所有属性,剩余的数据看起来仍然有意义。 我有时使用的另一个规则是汇总数据的属性和其余的元素。然后,如果我想发送一个摘要列表,例如,我只发送顶部元素加上它的属性,并忽略包含的元素。例如。
在列表中变成:
或者,如果这两种情况都不适用,那么您可能只想为任何具有内部结构或顺序重要的内容使用元素,并根据第二个XML示例为所有其他内容使用属性。 |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Henry · 使用Python将json重新格式化为键值对 2 年前 |
eymentakak · json字典类型错误:字符串索引必须是整数 2 年前 |
Vodka · 如何将单个json对象转换为json数组? 2 年前 |
Alper · 从json转换为数据帧? 2 年前 |