У меня есть те два RxPath, которые мне нужно записать в одном выражении:
/td[2]/a[1]/tag[1]
и
/td[2]/a[1]
Так что в основном мне нужно выбрать путь с элементом 'tag', еслисуществует, если нет, то, чтобы выбрать элемент «а».что-то вроде:
if exist /td[2]/a[1]/tag[1] select /td[2]/a[1]/tag[1]
else select /td[2]/a[1]
Эти элементы должны иметь атрибут innertext с некоторым значением в них, поэтому я попытался:
/td[2]/descendant::node()[@innertext!='']
, но это не сработает ...
Кроме того, эти элементы находятся в нижней части иерархии, поэтому, если есть какой-либо способ просто выбрать первый элемент на самом низком уровне.
Мне удалось решить это с помощью регулярного выражения в конце моего выражения Xpath.
/dom/body/div[@id='isc_0']/div/div[@id='isc_B']/div[@id='isc_C']/div[@id='isc_10']/div/div/iframe/body/table/tbody/tr/td[1]/a[@innertext='any uri item']/../../td[2]/*[@innertext~'[^ ]+']
Извините за недопонимание с проблемой ...
С уважением,
Вайда Владимир