2010-12-02 3 views
6

Lassen Sie uns sagen, dass ich den folgenden HTML-Code haben:XPath text() Ausdruck, der eine neue Zeile enthält

<a href="/site/somesite/"> 
          somesite</a> 

Meine Frage ist, wie kann ich einen XPath-Ausdruck schreiben, der die text() Eigenschaft verwenden muss, den somesite Link entsprechen und ich kann die Quelle nicht ändern?

+0

Bitte klären Sie (1) genau, was Sie extrahieren möchten und (2) wie Sie es im gesamten Dokument eindeutig identifizieren können. –

Antwort

2

Ich bin mir nicht sicher, ob Sie die URL auf der Grundlage des Linktextes oder des Linktextes basierend auf der URL suchen möchten. Dadurch erhalten Sie die URL erhalten:

//a[normalize-space() = 'somesite']/@href 

Dadurch werden Sie den Text erhalten:

normalize-space(//a[@href = '/site/somesite/']) 
2

Verwenden normalize-space(), die die vorderen und hinteren Leerzeichen wird wegzuwerfen (und verdichten sich wiederholende Räume in der Mitte der Text in ein einzelnes Leerzeichen), so dass Sie die normalisierte text() vergleichen und verwenden können, um in einem Prädikat zu filtern.

a[normalize-space(text())='somesite'] 
Verwandte Themen