Что касается второй части нашего вопроса о том, как программно манипулировать XML, то здесь есть некоторый xml из файла конфигурации проекта. (Web.config)
<system.web>
<compilation debug="false">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral,
</compilation>
</compilation>
и для анализа с использованием LINQ-TO-XML , что-то вроде следующего:
XDocument assemblies = XDocument.Parse("web.config");
var projectAssemblies= from a in assemblies.Descendants("system.web\assemblies")
select new // What ever object you waant
{
Assembly = a.Attribute("assembly").Value.ToString(),
Version = a.Attribute("Version").Value.ToString(),
Culture = a.Element("Culture").Value.ToString(),
PublicKeyToken = a.Attribute("PublicKeyToken").Value.ToString()
};
foreach (var v in projectAssemblies)
{
// enjoy them
}
надеюсь, это поможет