2
我收到以下錯誤:LINQ的 - 無法隱式轉換類型 '的IEnumerable <IEnumerable的<.XElement>>' 到 'IEnumerable的<.XElement>'
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>>' to 'System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>'. An explicit conversion exists (are you missing a cast?)
而且我不明白爲什麼。在這裏,你有我的代碼,我試圖讓DataContainer
元素將Name
屬性的相同name.key
:
XDocument xml = XDocument.Load(name.Value);
IEnumerable<XElement> columns = from d in xml.Descendants("DataContainer")
where (d.Attribute("Name").Value.Equals(name.Key))
select d.Descendants("ArrayOfColumn");
在這裏你有我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<DataContainers>
<DataContainer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="IRS vs E3M" Currency="EUR">
<ArrayOfColumn Name="Maturite" isData="false">
<Line Value="1Y" />
<Line Value="2Y" />
<Line Value="3Y" />
<Line Value="4Y" />
<Line Value="5Y" />
<Line Value="6Y" />
<Line Value="7Y" />
<Line Value="8Y" />
<Line Value="9Y" />
<Line Value="10Y" />
<Line Value="15Y" />
<Line Value="20Y" />
<Line Value="30Y" />
<Line Value="40Y" />
<Line Value="50Y" />
<Line Value="60Y" />
</ArrayOfColumn>
<ArrayOfColumn Name="Value" isData="true">
<Line Value="EURAB3E1Y" />
<Line Value="EURAB3E2Y" />
<Line Value="EURAB3E3Y" />
<Line Value="EURAB3E4Y" />
<Line Value="EURAB3E5Y" />
<Line Value="EURAB3E6Y" />
<Line Value="EURAB3E7Y" />
<Line Value="EURAB3E8Y" />
<Line Value="EURAB3E9Y" />
<Line Value="EURAB3E10Y" />
<Line Value="EURAB3E15Y" />
<Line Value="EURAB3E20Y" />
<Line Value="EURAB3E30Y" />
<Line Value="EURAB3E40Y" />
<Line Value="EURAB3E50Y" />
<Line Value="EURAB6E60Y" />
</ArrayOfColumn>
</DataContainer>
</DataContainers>
有人能幫助我,解釋爲什麼請?
非常感謝:) –