繁体   English   中英

XmlElement ad XmlNodeList的隐式转换问题

[英]Implicit conversion issue with XmlElement ad XmlNodeList

我有一个Xml文档,我想使用linq查询转换为XnlNodeList。 现在,Xml和Linq都不是很清楚。 我得到的错误是Cannot implicitly convert type 'System.Linq.IOrderedEnumerable<System.Xml.XmlElement>' to 'System.Xml.XmlNodeList'. An explicit conversion exists (are you missing a cast?) Cannot implicitly convert type 'System.Linq.IOrderedEnumerable<System.Xml.XmlElement>' to 'System.Xml.XmlNodeList'. An explicit conversion exists (are you missing a cast?)

XmlNodeList abTestDocx = abTestDoc.GetElementsByTagName("FS").OfType<XmlElement>().OrderBy(FS => FS.GetAttribute("label"));

谢谢!

您通常不会自己创建XmlNodeList实例。 你真的需要一个吗? 如果您只需要迭代节点,只需将其分配给IEnumerable<XmlElement>

IEnumerable<XmlElement> abTestDocx = abTestDoc
     .GetElementsByTagName("FS")
     .OfType<XmlElement>()
     .OrderBy(fs => fs.GetAttribute("label"));

请注意,使用LINQ to XML通常比旧的XmlDocument API更好。 然后你只需要:

IEnumerable<XElement> abTestDocx = doc
     .Descendants("FS")
     .OrderBy(fs => (string) fs.Attribute("label"));

...而且各种其他事情也会更简单。 LINQ to XML很可爱:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM