我正在使用XML来保存一些设置,所以让我们使用以下示例:
<PermissionLevels>
<Permission Name="MyPermission 1" Bases="XXX" />
<Permission Name="MyPermission 2" Bases="XXX" />
</PermissionLevels>
所以XXX是我的问题。我将拥有几个基本权限,例如“读取,创建,删除”,我知道C#有.Split
method,所以我可以用“,”作为分隔符来尝试。我也可以将子节点设为<Permission>
。
有没有正确的方法呢?正确我指的是以下内容:我不确定是否应该使用LINQ(XDocument
)或常规System.Xml
变体(XmlDocument
)并且我不确定是否可能使用某种不同的方式处理得更好
使用.Split
,我将不得不接受node.Attributes["Base"].Value
,拆分它并为数组中的所有元素执行foreach
- 也许LINQ更聪明,可以采取不同的做法吗?
抱歉我的漫无目的,这不是我的域名。问题实际上是:当我有一个属性的多个值时,我是否将它们与例如一个属性连接起来。一个“,”,或者我是以不同的方式做的(例如,对象的子节点)?
答案 0 :(得分:6)
我更喜欢子节点。属性用于标量(单个)值。
另外,这种方式在C#中使用LINQ的源代码很简单,而且很好。