我有以下一段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标记中的内容,该标记具有作为父对象的ObsCont和xCampo属性“ field2”?

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

10-09 01:11