Четене на XML чрез LINQ и C #
Статията дава отговори на следните въпроси:
- Как да използвам Linq в C #?
- Как да четем данни от xml с помощта на c # ling в xml?
- Как да получите достъп до атрибути, дъщерни и родителски елементи в xml?
Доста често разработчиците са изправени пред задачата да интегрират приложения, базирани на xml формат.
Примерът обработва xml файл с доста сложна структура, когато информацията за елементи от различни нива на влагане е значителна.
В този случай информацията се чете от възлите Point и техните родителски възли Element. В този случай във всеки възел на Елемент се поставя по един Точков възел. Качеството на xml структурата не е безспорно, но ви позволява ясно да демонстрирате възможностите на технологията Linq.
Пример за структурата на прочетения xml файл:
За да прочетете този файл, в Visual Studio 2010 създайте нов проект на Windows Forms Application в C #.
Нека поставим следните елементи на интерфейса във формуляра:
- текстово поле за показване на името на файла (TextBox: textBox1);
- бутон за отваряне на диалоговия прозорец за избор на файл (button1);
- бутон за стартиране на процеса на четене на файл (button2);
- лента за напредък при четене на файлове (ProgressBar: pb1);
- текстова област за показване на информация, прочетена от xml файла (RichTextBox: rtb1).
Добавете пространството от имена към Solution Explorer в раздела Референции: System.Xml.Linq.
Нека разгледаме по-отблизо основната процедура за зареждане на данни XmlLoad () .
Първо се създава обект от класа XElement, който се използва за четене на xml документа.
След това се формира Linq заявка за прочетените данни. Заявката се отнася до под-елементи на xml документа с име Point. На изхода на заявката се формира колекция ChildList, достъпна за последващо обръщане в цикъл.
Следващата важна част от кода е цикълът, който се итерира над елементите от ChildList. Тези елементи, както вече знаем, са възлите на xml документа Point. Достъпът до атрибутите на всеки елемент е достъпен чрез свойството Attribute, а достъпът до родителските елементи чрез свойството Parent .
За да оцените производителността, файл от
3000 реда по 253Kb. Времето за зареждане на информация беше около 1 секунда.
По този начин технологията Linq предоставя на разработчика ефикасен и удобен инструмент за манипулиране на xml данни, като на практика елиминира използването на множество цикли.
- ЧЕТЕНЕ В СЪВРЕМЕННА РУСИЯ
- Урок по литературно четене
- Урок по литературно четене - quot; Сребърно копито - quot
- Етапи от учебния процес за четене и видове четене на чужд език, статия в списание "Млад учен"
- Експериментално изследване на формирането на интерес към книгите и четенето при малки деца,