簡體   English   中英

如何在XxmlElement而不是C#中的XElement上運行linq

[英]how to run linq on XxmlElement rather than XElement in C#

如何使用linqC#獲取XmlElement而不是XElement的屬性?

public string test (XmlElement element)
{
     var enumAttr = from attr in element.Attributes select attr;

     foreach (var data in enumAttr)
      {
          // TO DO
      }
}

這是一個錯誤,

找不到源類型“ System.Xml.XmlAttributeCollection”的查詢模式的實現。 找不到“選擇”。 考慮明確指定范圍變量“ attr”的類型

這是因為XmlAttributeCollection僅實現IEnumerable而不是IEnumerable<T> 可以將查詢表達式更改為:

var enumAttr = from XmlAttribute attr in element.Attributes select attr;

等效於:

var enumAttr = from attr in element.Attributes.Cast<XmlAttribute>() select attr;

但是無論如何,您在這里實際上並沒有對LINQ做任何事情-您可以使用:

foreach (XmlAttribute data in enumAttr.Attributes)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM