Кажется, у меня проблемы с получением значений XML с помощью C #, что, как я знаю, связано с моими очень ограниченными знаниями C # и .XML.
Мне дали следующий XML-файл
<PowerBuilderRunTimes>
<PowerBuilderRunTime>
<Version>12</Version>
<Files>
<File>EasySoap110.dll</File>
<File>exPat110.dll</File>
<File>pbacc110.dll</File>
</File>
</PowerBuilderRunTime>
</PowerBuilderRunTimes>
. Я должен обработать XML-файл и убедиться, что каждый из файлов в папке существует (это простая часть). Это обработка XML-файла, с которой мне тяжело. Вот что я сделал до сих пор:
var runtimeXml = File.ReadAllText(string.Format("{0}\\{1}", configPath, Resource.PBRuntimes));
var doc = XDocument.Parse(runtimeXml);
var topElement = doc.Element("PowerBuilderRunTimes");
var elements = topElement.Elements("PowerBuilderRunTime");
foreach (XElement section in elements)
{
//pbVersion is grabbed earlier. It is the version of PowerBuilder
if( section.Element("Version").Value.Equals(string.Format("{0}", pbVersion ) ) )
{
var files = section.Elements("Files");
var fileList = new List<string>();
foreach (XElement area in files)
{
fileList.Add(area.Element("File").Value);
}
}
}
Моя проблема в том, что список строк всегда заполняется только одним значением, «EasySoap110.dll», а все остальное игнорируется. Может ли кто-нибудь помочь мне, так как я в растерянности.