我正在尝试学习LINQ并且有一个关于使用VB查询XML的问题.
我的XML:
Do This Procedure Do That Procedure
如何指定查询以仅获取具有ID属性marker2的过程文本?换句话说,我想要一个结果字符串,表示执行该程序.
谢谢
使用VB XML文字:
Dim marker2 = From x In data..._ Where x..@ID = "marker2" _ Select x
三点式语法生成xml元素的"所有后代",data...
即将生成
内部标记列表data
XML文字上的点语法意味着"第一个后代",因此x.
将产生内部x 的第一个出现.其中x现在是实例
现在您拥有了所需的元素,将其id与字符串进行比较对于
@attr
属性选择器来说是微不足道的..@ID = "marker2"
将评估标签True
的ID属性是否等于"marker2"
所以x..@ID
意味着" x中第一个标签的ID属性"
你想要
元素,所以你指定Select x
完整示例:
Sub Main() Dim data =Dim marker2 = From x In data... Do This Procedure Do That Procedure _ Where x..@ID = "marker2" _ Select x ' prints the second procedure-text element Console.WriteLine(marker2.FirstOrDefault().ToString()) Console.ReadKey() End Sub