我是vb.net中的xml解析器新手,需要xml和vb.net专家的帮助:)
我需要找到给定值的属性名称,但属性以所需的文本开始。
我的XML字符串是这样的
<Level1>
<Level2>
<Level3 Group="FirstGroup1" Value="FALSE"/>
<Level3 Group="**FirstGroup2**" Value="TRUE"/>
<Level3 Group="FirstGroup3" Value="FALSE"/>
<Level3 Group="FirstGroup4" Value="FALSE"/>
<Level3 Group="FirstGroup5" Value="FALSE"/>
<Level3 Group="SecondGroup1" Value="FALSE"/>
<Level3 Group="SecondGroup2" Value="FALSE"/>
<Level3 Group="SecondGroup3" Value="FALSE"/>
<Level3 Group="SecondGroup4" Value="TRUE"/>
<Level3 Group="SecondGroup5" Value="FALSE"/>
<Level3 Group="SecondGroup6" Value="FALSE"/>
</Level2>
</Level1>
我想要属性名称从FirstGroup*它的值为True。在这种情况下,我期待FirstGroup2。
我很感激你的帮助。
谢谢。
由于您没有提供任何代码,我不知道您想使用什么API来解析XML,但使用LINQ到XML和XML文字:
Dim xml =
<Level1>
<Level2>
<Level3 Group="FirstGroup1" Value="FALSE"/>
<Level3 Group="FirstGroup2" Value="TRUE"/>
<Level3 Group="FirstGroup3" Value="FALSE"/>
<Level3 Group="FirstGroup4" Value="FALSE"/>
<Level3 Group="FirstGroup5" Value="FALSE"/>
<Level3 Group="SecondGroup1" Value="FALSE"/>
<Level3 Group="SecondGroup2" Value="FALSE"/>
<Level3 Group="SecondGroup3" Value="FALSE"/>
<Level3 Group="SecondGroup4" Value="TRUE"/>
<Level3 Group="SecondGroup5" Value="FALSE"/>
<Level3 Group="SecondGroup6" Value="FALSE"/>
</Level2>
</Level1>
Dim firstGroup = (
From l3 In xml...<Level3>
Where l3.@Group.StartsWith("FirstGroup") AndAlso
l3.@Value = "TRUE"
Select l3.@Group
).FirstOrDefault()
Console.WriteLine(firstGroup)
FirstGroup2