Nur verwenden:
//td[contains(normalize-space(.),'Constant')]/@class
Sie beachten Sie, dass der obige Ausdruck mehr als einen Knoten auswählen kann.
, um nur die N-ten Knoten aus diesen zu wählen, einen XPath-Ausdruck dieser Art verwenden (N = 1):
(//td[contains(normalize-space(.),'Constant')]/@class)[1]
Wenn keine von diesen sind, kann der Grund jeder Knotenauswählverfahren sein:
//td[contains(normalize-space(.),'Constant')]
keine Knoten auswählt, weil es keine td
ist, dessen String-Wert enthält die Zeichenfolge 'Constant'
. Sind Sie sicher, dass Sie die genaue Großschreibung verwenden? XPath ist Groß-und Kleinschreibung und 'constant'
ist nicht gleich 'Constant'
.
//td[contains(normalize-space(.),'Constant')]
wählt keinen Knoten, weil es ein Standard-Namespace ist. In diesem Fall müssen Sie einen Namespace registrieren und seinen Präfix im XPath-Ausdruck verwenden (es gibt eine Menge von Fragen und Antworten zu dieser - sie liest): //x:td[contains(normalize-space(.),'Constant')]
Die XPath ist in Ordnung. Was beinhaltet die Abfrage von nur '// td' und' // td [enthält (normalize-space(), 'Constant')] 'return? – Tomalak
@ user561337: Dieser XPath Ausdruck sollte das 'td' Element auswählen –