Форматирование XML для последующего анализа в c # - PullRequest
0 голосов
/ 18 января 2011

Я использую XML для хранения некоторых настроек, поэтому давайте рассмотрим следующий пример:

<PermissionLevels>
    <Permission Name="MyPermission 1" Bases="XXX" />
    <Permission Name="MyPermission 2" Bases="XXX" />
</PermissionLevels>

Так что ХХХ это моя проблема. У меня будет несколько базовых разрешений, например «Чтение, создание, удаление», и я знаю, что в C # есть метод .Split , поэтому я мог бы попробовать его с «,» в качестве разделителя. Я также мог бы иметь дочерние узлы для <Permission>.

Есть ли правильный способ сделать это? Под правильным я подразумеваю следующее: я не уверен, должен ли я использовать LINQ (XDocument) или обычный вариант System.Xml (XmlDocument), и я не уверен, что может быть лучше использовать какой-то другой способ. 1015 * С .Split мне придется взять node.Attributes["Base"].Value, разделить его и сделать foreach для всех элементов в массиве - может быть, LINQ умнее и может сделать что-то по-другому?

Извините за мою бессвязную работу, это просто не моя область. На самом деле вопрос заключается в следующем: если у меня есть несколько значений для одного атрибута, могу ли я их объединить, например, ",", или я делаю это по-другому (например, с дочерними узлами объекта)?

1 Ответ

6 голосов
/ 18 января 2011

Я бы предпочел дочерние узлы.Атрибуты предназначены для скалярных (одиночных) значений.

Кроме того, таким образом ваш исходный код на C # с LINQ будет простым, и это хорошо.

...