Чтение XML файла - C# (203222)
Формулировка задачи:
Добрый вечер.
Даю сразу исходники:
и код:
Вопрос вот в чем. Мне необходимо считать не значение (<name>Vasya</name>), а сам тег, то есть получить строку "name". Благодарю за помощь.
<?xml version="1.0" encoding="utf-8"?> <head> <object number="1"> <name>Vasya</name> <Surname>Popov</Surname> </object> <object number="2"> <file>doc</file> <picture>blue</picture> </object> </head>
XmlDocument document = new XmlDocument(); //Загружаем наш файл: document.Load(pathToXml); String[][,] subElement = new String[2][,]; foreach (XmlNode obj in document.DocumentElement.ChildNodes) { int x = 2; int j = 0; NumberOfObject = Convert.ToInt32(obj.Attributes.GetNamedItem("number").Value) - 1; subElement[NumberOfObject] = new String[x+1, 2]; subElement[NumberOfObject][0, 0] = "КАК СЧИТАТЬ САМ ТЕГ, ТО ЕСТЬ ПОЛУЧИТЬ :OBJECT?? "; foreach (XmlNode element in obj.ChildNodes) { subElement[NumberOfObject][j + 1, 0] = "КАК СЧИТАТЬ САМ ТЕГ"; subElement[NumberOfObject][j + 1, 1] = element.InnerText; //СЧИТАЛ ЗНАЧЕНИЕ j++; } }
Решение задачи: «Чтение XML файла»
textual
Листинг программы
using System; using System.IO; using System.Linq; using System.Xml.Linq; namespace ConsoleApplication143 { class Program { private static void Main() { string s = @"<?xml version=""1.0"" encoding=""utf-8""?> <head> <object number=""1""> <name>Vasya</name> <Surname>Popov</Surname> </object> <object number=""2""> <file>doc</file> <picture>blue</picture> </object> </head>"; var xml = XDocument.Load(new StringReader(s)); var enumerable = xml.Descendants("object") .Select( element => new { Number = element.FirstAttribute.Value, Values = element.Elements().Select(elm => new {elm.Name, elm.Value}) }); foreach (var obj in enumerable) { Console.WriteLine(obj.Number); foreach (var value in obj.Values) { Console.WriteLine("{0} {1}", value.Name, value.Value); } } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д