【发布时间】:2017-02-15 14:53:33
【问题描述】:
编辑:到目前为止,建议的答案对我不起作用。也许我的例子有点误导。我已经更新了 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"
我的问题是我不知道如何才能完成这项工作。 谁能给我举个例子,我怎么能做到这一点?
【问题讨论】:
标签: c# .net xml linq linq-to-xml