我試圖查詢包含WCF條目的web.Config
文件。linq to xml獲取所有子節點
在<service>
節點有一個name attribute
,我試圖匹配。到目前爲止,我的代碼在進行匹配時工作正常,但我的問題是它只返回<endpoint>
節點中的1個。
例如,我可以有這個片段的xml:
<service name="a">
<endpoint>1</endpoint>
<endpoint>2</endpoint>
<endpoint>3</endpoint>
</service>
<service name="b">
<endpoint>1</endpoint>
<endpoint>2</endpoint>
</service>
每次我得到一個比賽,我希望它顯示所有的那場比賽的<endpoint>
子節點。
這是我到目前爲止的代碼:
IEnumerable<XElement> xmlURL =
from el in xmlFile.Root.Descendants("service")
where (string)el.Attribute("name") == serviceString
select el.Element("endpoint");
Console.WriteLine("Start: " + serviceString);
foreach (XElement el in xmlURL)
{
Console.WriteLine(el);
}
Console.WriteLine("End: " + serviceString + "\n\n");
目前,當它的比賽只有1個端點所示。
在這種情況下,當只有一個孩子的級別,後代會沒事的。否則,您可能想要使用僅返回直接子項的元素(XName)。 –
@JoachimIsaksson好點。 – CodingGorilla
當我嘗試使用後代時出現以下錯誤: 無法將類型'System.Collections.Generic.IEnumerable>'隱式轉換爲' System.Collections.Generic.IEnumerable 」。存在明確的轉換(您是否缺少演員?) –
webdad3