C# и Xpath — возврат результата с использованием Node-Set и результата строкового типа в одном запросе XpathC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# и Xpath — возврат результата с использованием Node-Set и результата строкового типа в одном запросе Xpath

Сообщение Anonymous »

В проекте я использую Xpath для сбора цен. В этом случае у меня может быть два варианта, как получить цену, указанную в следующем запросе:

Код: Выделить всё

var xpath = @"substring-after(//div[@class='price'],":")|//span[@class="oldPrice"]";
В коде C#:

Код: Выделить всё

            HtmlDocument htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(html);
XPathNavigator navigator = document.DocumentNode.CreateNavigator();
var eval = navigator.Evaluate(xpath); // here i get error: Expression must evaluate to a node-set.
var expression = navigator.Compile(xpath); // and also here i get error: Expression must evaluate to a node-set.
Я понимаю, что substring-after(//div[@class='price'],":") — это возвращаемый тип строки.
и это //span[@class="oldPrice"] — это возвращаемый тип Node-Set
У вас есть предложения, как мне поступить в этом случае?
а) Должен ли я разделить xpath и разрешить каждую часть, разделенную '|' ?

b) Или есть другой способ получить результат, используя комбинированный запрос xpath, указанный выше, без разделения строки и проверки каждой части?
в) Пропустил ли я какой-либо другой класс, который делает то, что я ищу?
Надеюсь, контекста достаточно.

Подробнее здесь: https://stackoverflow.com/questions/663 ... t-in-singl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»