2016-06-29 12 views
0

私はvb.netのxmlパーサを初めて使用しており、xmlとvb.netのエキスパートからの助けが必要です:)xml "属性名"をワイルドカードで検索するには?

属性値は特定の値であることが必要ですが、

私のXML文字列は、私は値がtrueを持ってFirstGroupという*からの属性名を欲しいこの

<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> 

のようなものです。この場合、私はFirstGroup2を期待しています。

私は助けていただきありがとうございます。

ありがとうございました。

答えて

1

あなたは私はあなたがXMLを解析するために使用したいのかAPIを知っているが、LINQ to XMLXML literalsを使用していない任意のコードを提供していませんでしたので:

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 [email protected]("FirstGroup") AndAlso 
     [email protected] = "TRUE" 
    Select [email protected] 
).FirstOrDefault() 
Console.WriteLine(firstGroup) 

FirstGroup2

+0

この正確に私が欲しかった、それは素晴らしい仕事をした。どうもありがとう。 – mak101

関連する問題