Я широко использую оба XSL
у них очень разное использование ИМО
xpath отлично подходит для манипулирования документами xml, тогда как linq2xml отлично подходит для отображения их в коллекции объектов.
Другими словами, у меня регулярно есть приложения, которые включают оба.
Например, синтаксический анализ CSV в заданной XML-структуре почти полностью выбран для xslt и xpath, поэтому linq2XMl создаст проблемы, если у вас есть XML-документ с дополнительными элементами. поэтому я склонен использовать xpath, чтобы действительно заблокировать формат xml, чтобы он был явным, и чтобы мое отображение linq2xml было очень простым.
В результате получается намного меньше ошибок и значительно ускоряется разработка.
Понятия не имею, почему этот парень говорит о linq2xsd ... это проект, который был прекращен и в котором очень мало документации. держись подальше от этого.
Xdocument - это объект, с которым на самом деле приятно работать ... xmldocument - это просто потрясающий imo. Очевидно, что это зависит от поставленной задачи, но отсутствие xpath 2.0 заставляет меня использовать его в качестве средства очистки данных, а затем позволить linq2XMl выполнять настоящую работу.
Что касается поиска, вы можете делать все, что linq2xml делает в xpath, дело в том, что синтаксически я предпочитаю использовать linq2sql и играть со строго типизированными коллекциями, чем возиться с xpath. Гораздо проще вернуться к нему позже и адаптироваться. Также вам не нужно беспокоиться о синтаксических различиях между реализациями xpath и особенно с реализациями регулярных выражений