我一直在使用Linq到XML一段時間,但遠離它的高級用戶。每隔一段時間我會看看自己的代碼,然後去「必須有一種更有效的方式來做到這一點」,所以我期待着看看StackOverflow的世界是否可能知道如何改進以下內容碼。目前所完成的方法是提供一個簡單的List<string>
,其中包含一個軟件列表,該軟件列表將從保存在XML文件中的系統記錄中刪除。C#Linq to XML Element.Remove代碼優化
var xe = (from el in mainForm.xeSystemData.Elements("System")
where el.Element("Name").Value == systemName
select el.Element("SoftwareList"));
foreach (string sw in softwareToRemove)
{
foreach (var v in xe.Elements("Software"))
{
if (v.Value.ToString() == sw)
{
v.Remove();
}
}
}
這裏是XML的參考片段:
<SoftwareList>
<Software>IBM Client Access</Software>
<Software>Adobe Acrobat Reader 10.1</Software>
</SoftwareList>
我一直在想的是,有利用LINQ到XML去除選擇性元素,而創建兩個foreach循環更快的方法。
而且,更重要的是,在大多數情況下,我碰到了,使代碼更整潔。 – user2246674
完美,更乾淨的代碼。 – Chris