用于以后在c#中解析的XML格式

时间:2011-01-18 16:40:30

标签: c# xml linq-to-xml split

我正在使用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更聪明,可以采取不同的做法吗?

抱歉我的漫无目的,这不是我的域名。问题实际上是:当我有一个属性的多个值时,我是否将它们与例如一个属性连接起来。一个“,”,或者我是以不同的方式做的(例如,对象的子节点)?

1 个答案:

答案 0 :(得分:6)

我更喜欢子节点。属性用于标量(单个)值。

另外,这种方式在C#中使用LINQ的源代码很简单,而且很好。