У меня есть данные XML, которые выглядят так
<priceData>
<div class='price'>
<div class='price-old'>20.00</div>
<div class='price-new'>10.00</div>
<div class='price-tax'>8.00</div>
</div>
<div class='price'>
40.00 <div class='price-tax'>25.00</div>
</div>
</priceData>
Я хочу использовать Xpath для извлечения данных для «новой цены» из первого ценового сегмента и значения 40,00 из второго ценового сегмента. Это должно быть сделано с помощью одного выражения.
Я пробовал такие выражения, как
//div[contains(@class, 'price') and not(contains(@class, 'tax')) and not(contains(@class, '-old'))]
и
//div[contains(@class, 'price') and not(contains(@class, 'tax')) and not(descendant::div[contains(@class, '-old') and not(contains(@class, '-tax'))]) and not(contains(@class, '-old'))]
и некоторые другие, но я не могу заставить его работать так, как он должен. Я всегда получаю дополнительные узлы из первого случая, и мне нужен только один узел (цена-новая или цена, если в нем больше нет узлов).