2017-01-29 3 views
1

Hey, ich habe folgende html:Xpath wählen bestimmte Listenelemente

<ul> 
 
<li><strong>Telefon:</strong></li> 
 
<li>211 600</li> 
 
<li>330 233</li> 
 
<li><strong>Fax:</strong></li> 
 
<li>336 884</li> 
 
<li><strong>e-mail:</strong></li> 
 
<li>[email protected]</li> 
 
</ul>

Meine Frage ist, wie man zwei Telefonnummern in einem Fall wählen würde, wenn u weiß nicht, ob neben li Element mit fett Text ist "FAX:" oder wenn das nächste li-Element überhaupt existiert?

Antwort

1

So mögen Sie den Textinhalt von jedem erhalten li Elemente, deren vorangestelltes Geschwister ein li ist, dessen Textinhalt Telefon: ist, aber die kein vorangestelltes Geschwister haben, dessen Textinhalt Fax: ist:

//ul/li[preceding-sibling::li[.='Telefon:']][not((self::li|preceding-sibling::li)[.='Fax:'])]/text() 
0
//ul/li/text() 

dies eine Liste von Text unter li Tag zurückkehren, können Sie Slice verwenden die Telefonnummer

heraus zu bekommen:

Text = 211 600 
Text = 330 233 
Text = 336 884 
Text = [email protected] 
Verwandte Themen