Выбор фильтра Xpath

99
7

Я пытаюсь достичь следующего с Xpath, но я не могу заставить выбор работать.....

У меня есть следующий сценарий:

Пол или мужчина или женщина. Бренд: BrandA или BrandB или BrandC или BrandD

Я хочу выбрать все атрибуты MALE только с BrandA, BrandB и BrandC

Если я использую следующее;

/node[gender[1] = "male"] (perfect selects only the male products)

/node[gender[1] = "male" and brand[1][contains(.,"BrandA")]](perfect Xpath selects only the male products with the BrandA)

Пока что так хорошо, но если я использую ниже стоящего, ничего не выбирает....

/node[gender[1] = "male" and brand[1][contains(.,"BrandA")] and brand[1][contains(.,"BrandB")]]

Какие-либо предложения? Что я делаю не так?

Благодарю!!

спросил(а) 2021-01-27T18:01:37+03:00 4 месяца, 4 недели назад
1
Решение
108

Вы должны использовать or между торговыми марками, чтобы выбрать любой из них, and с помощью пола

/node[gender[1] = "male" and 
(brand[1][contains(.,"BrandA")] or brand[1][contains(.,"BrandB")])]

когда вы объединяете все, and Xpath ничего не находит, потому что бренд [1], возможно, может содержать BrandA и BrandB в то же время

ответил(а) 2021-01-27T18:01:37+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема