Не получается считать с XML нужным образом - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. У меня есть XML документ. Пытаюсь считать в C#. Вот кусок кода XML:
<BranchInfo>
<BranchId>AV</BranchId>
<Name>Alta Vista</Name>
<ShortName>Alta Vista</ShortName>
<ImageUrl>
Считываю:
string myUri = "http://biblioottawalibrary.ca/branches.xml";
            XDocument myXmlFile = XDocument.Load(myUri);
            var data2 = from query in myXmlFile.Descendants("BranchInfo")
                       select new
                       {
                           //id =(string)query.Element("BranchID").Value,
                           //name = (string)query.Element("Name").Value   
                           query.Element("Name").Parent.Value
                       };
            
            foreach (var obj in data2)
            {
                getTitle = obj.ToString();
                titleList.Add(getTitle);
            }
Но он все три параметра в один Value записывает, получается вот так:
getTitle = "AVAlta VistaAlta Vista"
Есть ли способ разделить это все? Если да подскажите как? Я хочу чтобы программа записала эти 3 значения в переменную, которая хранит в себе 3 string. Если же в файле было бы больше значений, то я хотед бы, чтобы программа записала количество значений в эту динамичную переменую. Ну или хотя бы в List: что-то вроде myList.add(и тут эти значения в цикле). Заранее спасибо.
Я делал еще так:
var data2 = from query in myXmlFile.Descendants("BranchInfo")
                       select new
                       {
                           id =(string)query.Element("BranchID").Value,
                           name = (string)query.Element("Name").Value   
                       };
Тогда он все правильно делает за одним искючением. Результат получается примерно такой:
getTitle = "id = AV, name = Alta Vita";
Я конечно мог бы еще сделать так:
var data2 = from query in myXmlFile.Descendants("BranchInfo")
                       select new
                       {
                           id =(string)query.Element("BranchID").Value,                       
                       };
foreach (var obj in data2)
            {
                getTitle = obj.ToString();
 
            }
 
var data3 = from query in myXmlFile.Descendants("BranchInfo")
                       select new
                       {
                           name =(string)query.Element("Name").Value,                       
                       };
foreach (var obj in data3)
            {
                getTitle2 = obj.ToString();
            }
Но это по-моему извращение.

Решение задачи: «Не получается считать с XML нужным образом»

textual
Листинг программы
var data = from query in myXmlFile.Descendants("BranchInfo")
                       select new
                       {
                           query,
                           id = (string)query.Element("BranchId").Value,
                           name = (string)query.Element("Name").Value,
                           image = (string)query.Element("ImageUrl").Value
                       };
 
            foreach (var obj in data)
            {
                Branches branches = new Branches();
                branches.id = obj.id;
                branches.name = obj.name;
                branches.imageUrl = obj.image;
                myBranches.Add(branches);
            }

Оцени полезность:

6   голосов , оценка 3.333 из 5
Похожие ответы