Что такое лучший XPath или Linq2Xml

Что "лучший" путь состоит в том, чтобы искать в xml?
Xpath или Linq2xml.

Я спрашиваю это, потому что мы должны сделать большой поиск в xml.
Я всегда использую XPath (так как я использовал это от.NET 1.1). Но с введением Linq можно легко использовать Linq2Sql.

С уважением, M.

5
задан user29964 28 January 2010 в 08:26
поделиться

3 ответа

Я использую оба широко также XSL

У них очень разные использует IMO

XPath отлично подходит для манипулирования XML-документами Wheras Linq2xml для отображения их в коллекции объектов.

Другими словами, я регулярно имею приложения, которые включают в себя оба.

Например, разброс CSV в заданную структуру XML представляет собой почти вишну, выбранную для XSLT, и XPath Wheras Linq2xml даст вам проблемы, если у вас есть документ XML, который имеет необязательные элементы. Поэтому я склонен использовать XPath, чтобы действительно заблокировать формат XML, чтобы он был явным и сохранить отображение My Linq2xML очень просто.

Результат гораздо меньше ошибок и намного быстрее.

Не знаю, почему парень говорит о LINQ2XSD ... это прекрасный проект, который имеет очень небольшую документацию. держись подальше от этого.

XDocument - это объект, который на самом деле приятным для работы с ... XMLDocument - это просто, просто IMO. Очевидно, что это зависит от задачи под рукой, но отсутствие XPath 2.0 делает меня, как правило, используют его в качестве очистки данных, а затем Linq2xml выполнять реальную работу.

Насколько идет поиск, вы можете сделать все, что Linq2xml делает в XPath, то дело в том, что синтаксически я далеко предпочитаю использовать Linq2SQL и играть с сильно напечатанными коллекциями, чем беспорядок с XPath. Гораздо легче вернуться на более позднюю дату и адаптировать. Также вам не нужно беспокоиться о синтаксических различиях между реализациями XPath и особенно с реализациями Regex

7
ответ дан 14 December 2019 в 08:50
поделиться

Вам нужно будет сначала определить критерии, чтобы судить, что лучше. И вам нужно решить, хотите ли вы сравнить XPath 1.0 или 2.0 с LINQ до XML. Microsoft не поддерживает XPath 2.0, но существуют третьинные решения, такие как Saxon 9 или вроде XQSHARP .

0
ответ дан 14 December 2019 в 08:50
поделиться

тоже. По-разному.

В зависимости от знаний о вашей (и вашей команде) (то есть XPath не будет эффективным, никто не знает XPath, но все знают Linq к XML). Также некоторые операции могут быть проще в одном или иной.

0
ответ дан 14 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: