2017-02-02 6 views
0

Я пытаюсь получить запрос XPath к файлу, который содержит следующие строки:Новичок XPath запрос

<div id="pPrice"> 
<b>Preis</b> 
<br/> 
<div class="price" style="margin-top:2px"> 
    <nobr> 
     <span class="price_info">Jetzt 48% sparen!</span> 
     <br/> 
     <span class="price_info"> 
      Statt 
      <strike>30,60 €</strike> 
      <strong> nur</strong> 
     </span> 
     <strong> 
      <span class="productSpecialPrice">15,90 €</span> 
     </strong> 
    </nobr> 
</div> 

Когда я хочу, чтобы получить «пересекли» цену (значение 30,60), я использую следующий, и она отлично работает:

.//*[@id='pPrice']/div[1]/nobr/span[2]/strike 

Теперь я хочу, чтобы получить productSpecialPrice (значение 15,90 €), и я попытался это один:

.//*[@id='pPrice']/div[1]/nobr/strong/span 

Но это не сработает. Как мне это изменить?

Спасибо!

UPD: Теперь все работает отлично, но в этом случае:

<div id="pPrice"> 
<b>Preis</b> 
<br/> 
<div class="price" style="margin-top:2px"> 
<nobr> 
<span class="price_info">Jetzt 33% sparen!</span> 
<br/> 
<span class="price_info"> 
Statt 
<strike>41,70 €</strike> 
<strong> nur</strong> 
</span> 
<strong> 
<span class="productSpecialPrice">27,90 €</span> 
</strong> 
</nobr> 
</div> 
<div class="priceinfo"> 
inkl. gesetzl. MwSt zzgl. 
<a class="priceinfolink" href="javascript:openShipping();">Versandkosten</a> 
</div> 
</div> 
<div id="pAvailability"> 
<table width="100%" cellspacing="0" cellpadding="0" border="0"> 
</div> 
<div id="pPrice"> 
<b>Preis für 2. Wahl Spiel</b> 
<small> 
<a href="JavaScript:var win=open('/zweitewahl.html', '', 'scrollbars=no,location=0,left=300, top = 100,toolbar=0,status=0,resize=0,width=400,height=310')"> 
</small> 
<br/> 
<div class="price" style="margin-top:2px"> 
<nobr> 
<nobr>36,00 €</nobr> 
</div> 
<div class="priceinfo"> 
inkl. gesetzl. MwSt zzgl. 
<a class="priceinfolink" href="javascript:openShipping();">Versandkosten</a> 
</div> 

возвращения запроса два значения: '27, 9 € 'и '36 €'. Как указать в запросе, что мне нужно значение «27, 9 €»?

ответ

0

Вы можете попробовать использовать просто следующее:

.//div[@id='pPrice'][b[text()="Preis"]]//span[@class="productSpecialPrice"] 
+0

Спасибо так много! – Dmitriy

+0

Пожалуйста, отметьте этот ответ как «Принято», если он решил вашу проблему. Спасибо – Andersson

+0

Открыл вопрос, когда получил 2 значения, возвращаемые запросом – Dmitriy