C# 嵌套循环XML元素
这是我的XML:C# 嵌套循环XML元素,c#,xml,loops,while-loop,C#,Xml,Loops,While Loop,这是我的XML: <Scenario> <Steps> <Step Name="A"> <Check Name="1" /> <Check Name="2" /> </Step> <Step Name="B"> <Check Name="3" /> </Step> </S
<Scenario>
<Steps>
<Step Name="A">
<Check Name="1" />
<Check Name="2" />
</Step>
<Step Name="B">
<Check Name="3" />
</Step>
</Steps>
</Scenario>
它可能会输出如下内容:
A1
A2
B3
我使用的代码是:
foreach (XElement step in document.Descendants("Step"))
{
// Start looping through that step's checks
foreach (XElement substep in step.Elements())
{
然而,它没有正确地循环。上面的嵌套循环结构正在为每个步骤的所有检查元素做一些事情,而不是只为每个步骤的子检查元素做一些事情。例如,我的代码的输出是:
A1
A2
A3
B1
B2
B3
如何修复循环?您的代码很好。看到这个了吗
foreach (XElement step in document.Descendants("Step"))
{
// Start looping through that step's checks
foreach (XElement substep in step.Elements())
{
Console.WriteLine(step.Attribute("Name").Value + ""
+ substep.Attribute("Name").Value);
}
}
输出:
A1
A2
B3
@gunr2171这一切都取决于xml的使用方式。考虑到这个例子,这很好。你是对的。。。太奇怪了,我想是另一个问题导致循环输出错误的东西。
A1
A2
B3