Не получается считать с XML нужным образом - C#
Формулировка задачи:
Здравствуйте. У меня есть XML документ. Пытаюсь считать в C#. Вот кусок кода XML:
Считываю:
Но он все три параметра в один Value записывает, получается вот так:
Есть ли способ разделить это все? Если да подскажите как?
Я хочу чтобы программа записала эти 3 значения в переменную, которая хранит в себе 3 string. Если же в файле было бы больше значений, то я хотед бы, чтобы программа записала количество значений в эту динамичную переменую. Ну или хотя бы в List: что-то вроде myList.add(и тут эти значения в цикле). Заранее спасибо.
Тогда он все правильно делает за одним искючением. Результат получается примерно такой:
Я конечно мог бы еще сделать так:
Но это по-моему извращение.
<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); }
getTitle = "AVAlta VistaAlta Vista"
Я делал еще так:
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); }