EDIT: Предлагаемые ответы для меня пока не работают. Может быть, мой пример немного вводит в заблуждение. Я обновил XML, а также ожидаемую строку для справки. Я могу иметь несколько вхождений узлов с разными уровнями, и на каждом уровне у меня может быть один или несколько дочерних элементов.Как читать значения атрибутов из XML и объединять их с одной строкой
У меня есть XML-файл со следующей структурой:
<VariableCollection>
<Variable Name="Level1">
<Variable Name="Level2">
<Variable Name="Level3">
<Variable Name="Level4"/>
<Variable Name="Level41"/>
</Variable>
</Variable>
</Variable>
<Variable Name="Level11">
<Variable Name="Level21">
<Variable Name="Level31">
<Variable Name="Level41"/>
<Variable Name="Level42"/>
<Variable Name="Level43"/>
</Variable>
</Variable>
</Variable>
<Variable Name="Level1">
<Variable Name="Level2">
<Variable Name="Level3"/>
</Variable>
</Variable>
<Variable Name="Level11">
<Variable Name="Level21">
<Variable Name="Level31"/>
</Variable>
</Variable>
<Variable Name="Level1">
<Variable Name="Level2"/>
</Variable>
<Variable Name="Level11">
<Variable Name="Level21"/>
</Variable>
</VariableCollection>
Так у меня есть узлы с различными структурированными подуровней/дочерних узлов. Что я хочу сделать, так это прочитать весь файл, используя LINQ to XML, и получить одну строку на «главный узел», созданный из атрибута «Имя» каждого «под-узла». Результат должен выглядеть так:
string1 = "Level1.Level2.Level3.Level4"
string11 = "Level1.Level2.Level3.Level41"
string2 = "Level11.Level21.Level31.Level41"
string22 = "Level11.Level21.Level31.Level42"
string23 = "Level11.Level21.Level31.Level43"
string3 = "Level1.Level2.Level3"
string3 = "Level11.Level21.Level31"
string4 = "Level1.Level2"
string5 = "Level11.Level21"
Моя проблема в том, что я понятия не имею, как я могу это сделать. Может ли кто-нибудь показать мне пример, как я могу это сделать?