C# Retrieving Data From XML File
- by Christopher MacKinnon
I seem to be having a problem with retrieving XML values with C#, which I know it is due to my very limited knowledge of C# and .XML.
I was given the following XML file
<PowerBuilderRunTimes>
    <PowerBuilderRunTime>
        <Version>12</Version>
        <Files>
            <File>EasySoap110.dll</File>
            <File>exPat110.dll</File>
            <File>pbacc110.dll</File>
        </File>
     </PowerBuilderRunTime>
</PowerBuilderRunTimes>
I am to process the XML file and make sure that each of the files in the  exist in the folder (that's the easy part). It's the processing of the XML file that I have having a hard time with. Here is what I have done thus far:
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);
                        }
                    }
                }
My issue is that the String List is only ever populated with one value, "EasySoap110.dll", and everything else is ignored. Can someone please help me, as I am at a loss.