Kullanım VB XML değişmezleri:
Dim marker2 = From x In data...<Procedure-Text> _
Where x.<A>[email protected] = "marker2" _
Select x
üçlü nokta sözdizimi üretmek bir xml elemanının "torunları", yani data...<Procedure-Test>
data
XML nokta sözdizimi içindeki <Procedure-Test>
etiket listesi üretecek literals, "first descendant" anlamına gelir; dolayısıyla x.<A>
, x'in içinde <A>
'un ilk oluşumunu üretecektir. hangi x şimdi <Procedure-Test>
örneği olduğunu Ve şimdi istenen <A>
eleman olduğuna göre bir dizeye onun kimliğini karşılaştırarak @attr
nitelik seçici ile önemsiz olduğunu. <A>
etiketinin kimlik özelliği "marker2" eşitse <A>[email protected] = "marker2"
yüzden,
Yani x.<A>[email protected]
"ID x içindeki ilk <A>
etiketinin niteliği" Ve <Procedure-Text>
eleman istediğiniz anlamına True
değerlendirecek
Sub Main()
Dim data = <doc>
<Procedure-Text>
<A ID="marker1"></A>Do This Procedure
</Procedure-Text>
<Procedure-Text>
<A ID="marker2"></A>Do That Procedure
</Procedure-Text>
</doc>
Dim marker2 = From x In data...<Procedure-Text> _
Where x.<A>[email protected] = "marker2" _
Select x
' prints the second procedure-text element
Console.WriteLine(marker2.FirstOrDefault().ToString())
Console.ReadKey()
End Sub
Çalışır: Eğer
Select x
Tam örnek belirtmek! Teşekkürler! FirstOrDefault yerine, ihtiyacım olan dizeyi almak için Değer kullanıyorum. – mraviator
VB, C# (dilimdeki seçimim) eksik olan xml için çok fazla desteğe sahip. VB ile ilgili tek şey dileğim C# idi. Ayrıca bu desteğin XElements üzerinde kanal yazımına dayandığını bilmiyordum. Oldukça dikkat çekici derleyici büyüsü. – Will