Частичное чтение XML-файла - C#
Формулировка задачи:
Собственно, вопрос по реализации. Как лучше это сделать? Посчитать все узлы и пропустить все -n узлов, а оставшиеся считать? Больше идей нет.
Примерам с кодом буду благодарен.
Сам файл имеет следующую структуру:
<?xml version="1.0" encoding="utf-8"?> <Messages> <Message msgType="from"> <usrSecond>Example</usrSecond> <date>17.05.2015 5:42:14</date> <message>test message</message> </Message> <Message msgType="to"> <usrSecond>Example</usrSecond> <date>17.05.2015 6:43:14</date> <message>TEST</message> </Message> </Messages>
Решение задачи: «Частичное чтение XML-файла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; using System.Xml.XPath; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var xml = @" <Messages> <Message msgType='from'> <usrSecond>Example</usrSecond> <date>17.05.2015 5:42:14</date> <message>test message</message> </Message> <Message msgType='to'> <usrSecond>Example</usrSecond> <date>17.05.2015 6:43:14</date> <message>TEST</message> </Message> </Messages> "; var xdoc = XDocument.Parse(xml); var n = 1; // Задаем количество пропущенных узлов. var resul = xdoc.XPathSelectElements("//Messages/Message[count(preceding::Message[name(..) = 'Messages']) >= " + n.ToString() + "]"); foreach (XElement xe in resul) Console.WriteLine(xe.ToString()); Console.WriteLine("Ready"); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д