Как стать автором
Обновить

Комментарии 5

xpath гораздо удобнее
А XmlTextReader гораздо неудобнее. Но иногда надо использовать его.
Автор показал ещё один способ работы с Xml. А как говорил кто-то умный «лучше уметь решать одну задачу пятью способами, чем пять задач одним».
А еще лучше уметь решать 5 задач одним способом и одну задачу пятью способами.
Мне кажется это стало уже ооочень избитой темой. Я сам в свое время писал о том как подобное делается — как часть обзора применения слова dynamic. На сегодняшний день, мне этот подход не так нравится как раньше. У меня динамики используются в основном для реализации dynamic visitor, и то в том же MathSharp я решил тупо перейти на F# с его дискриминированными объединениями, которые намного легче обходить.
Забавно, что, как я понимаю, всё это давно есть в VB.Net в виде расширенной поддержки Linq-to-XML.
Вместо:
var element = XElement.Parse(books);
string firstBooksTitle =
element.Element(«book»).Element(«title»).Value;
string firstBooksAuthor =
element.Element(«book»).Element(«author»).Attribute(«name»).Value;
string secondBooksTitle =
element.Elements().ElementAt(1).Element(«title»).Value;

Пишем просто
Dim element = XElement.Parse(books)
Dim firstBooksTitle = element.<book>.<title>.Value;
Dim firstBooksAuthor = element.<book>.<author>.@name.Value;
Dim secondBooksTitle = element.Skip(1).Take(1).<title>.Value

В таком синтаксисе поддерживаются неймспейсы, элементы (дети/потомки), атрибуты и индексация элементов:
contact.<ns:phone>
phone.@type
contacts...<name>
contacts...<name>(0)
contacts...<name>.Value

Создавать XML тоже становится намного удобнее. (в VB.Net вообще есть XML литералы)

msdn.microsoft.com/en-us/library/bb384833.aspx
msdn.microsoft.com/en-us/library/bb384974.aspx
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации