XPath match () с использованием регулярных выражений в C # - PullRequest
2 голосов
/ 23 июня 2011

Обновление: Я написал то, что сделал, с исходным кодом и вещами, за которыми нужно следить, на - Добавление функций и переменных XPath 2.0 в .NET XPath (мой блог).

Есть ли способ передать регулярное выражение для match () для оператора XPath в .NET?

Пример: сделать xpath из

"/windward-studios/Employees/Employee[matches(string(LastName), '.*A?B[12]C.*')]"

Ответы [ 2 ]

5 голосов
/ 23 июня 2011

XPath 2.0 поддерживает функцию совпадений.Однако .Net реализует XPath 1.0.

. Для реализации сопоставления необходимо добавить пользовательскую функцию.См. http://msdn.microsoft.com/en-us/library/ms950806.aspx

Похоже, проект Mvp.Xml: модуль EXSLT.NET реализует большинство XPath 2.0;в том числе спички.См. http://mvp -xml.sourceforge.net / exslt /

0 голосов
/ 23 июня 2011

Microsoft XSLT-процессор не поддерживает XSLT 2.0, но в .NET есть как минимум еще два, которые поддерживают: Saxon и XQSharp.

Microsoft в свое время решила пойти по собственному пути с Linq, и если вы хотите придерживаться подхода, основанного на стандартах, вам придется обратиться к третьим сторонам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...