c# - 使用 linq 获取一组元素

标签 c# .net xml vb.net linq

我有以下一段 XML:

<xml>
   <ObsCont xCampo="field1">
      <xTexto>example1</xTexto>
   </ObsCont>
   <ObsCont xCampo="field2">
      <xTexto>example2</xTexto>
   </ObsCont>
   <ObsCont xCampo="field3">
      <xTexto>example3</xTexto>
   </ObsCont>
</xml>

例如,我如何(使用 linq)获取 xTexto 标记中的内容,该标记的父对象是具有 xCampo 属性“field2”的 ObsCont?

(c#、vb.net、您的选择)

最佳答案

XDocument xml = XDocument.Parse(@"<your XML>");
from field in xml.Elements("ObsCont")
where field.Attribute("xCampo") != null && 
field.Attribute("xCampo").Value == "field2"
select field.Element("xTexto").Value;

这将返回一个字符串类型的 IEnumerable,其中包含符合您指定条件的所有值。

关于c# - 使用 linq 获取一组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2526719/

相关文章:

Common Lisp 的 XML 数据绑定(bind)

c# - 将 XML 写入文件而不覆盖以前的数据

android - 将 Tab Activity 放在屏幕底部

c# - EF : Map base class property with fluent API

.net - 为什么从 .NET Windows 服务调用时 wordconv.exe 会随机返回 -14

c# - 使用 C# 在 asp.net 中更新语句

c# - 为什么我的 C# 没有 System.ServiceProcess 库?

.net - 来自带有事务的 dotnet 的 SQL 脚本

c# - 在 Silverlight 的 Canvas 上动态绘制图像

c# - XmlSerializer 在序列化动态加载的类型时抛出异常