Ich habe einen XPath zur Auswahl einer Klasse, die ich möchte: //div[@class='myclass']
. Aber es gibt mir die ganze div (mit <div class='myclass'>
auch, aber ich würde nur den Inhalt dieses Tags zurückkehren möchten, ohne den Tag selbst. Wie kann ich es tun?Wie bekomme ich Knotenwert/innerHTML mit XPath?
Antwort
Mit xpath ist die Sache, die du zurückbekommen wirst, das letzte Ding im Pfad, das keine Bedingung ist. "Was das bedeutet? Nun, Bedingungen sind der Stoff zwischen []
's (aber Sie wussten bereits, dass) und Ihre liest wie pathElement [, die eine' Klasse 'Attribut mit Wert' meine Klasse '] hat HElement kommt direkt vor der [
.
All die Dinge außerhalb des []
‚s, dann ist der Weg, so in //a/b/c[@blah='bleh']/d
a, b, c und d alle Elemente Weg sind, bla ein Attribut und bleh ein literaler Wert. Wenn dieser Pfad übereinstimmt, gibt es eine d, die letzte nicht Bedingung Sache.
Ihr bestimmter Pfad gibt eine (Reihe von) div, die letzte Sache in Ihrem XPath Pfad ist. Dieser Rückgabewert enthält somit die obersten Knoten, div in Ihrem Fall, und darunter (sie) alle ihre (ihre) Kinder. Knoten können Elemente oder Text (oder Kommentare, Verarbeitungsanweisungen, ...) sein.
Unter einem Knoten können mehrere Textknoten liegen, daher spricht das Array pOcHa. x/text()
gibt den gesamten Text zurück, der ein direktes Kind von x ist, x/node()
gibt alle untergeordneten Knoten zurück, einschließlich Text.
Hoffe, das hilft.
node() = innerXml
text() = innerText
beide sind Arrays, also Text () [1] ist ein erster untergeordneter Textknoten ...
Sie können versuchen,
// div [@ class = 'myclass']/child :: *
child :: * wählt alle Kindelemente des Kontextknotens see details
Neue Antwort auf eine alte, häufig gestellte Frage:
Aus diesem XML
<div class="myclass">content</div>
Sie XPath können nur content
in einer von zwei Möglichkeiten zur Auswahl:
Text Node Selection
Dieser XPath,
//div[@class='myclass']/text()
wird die Textknoten Kinder des Zielelements
div
,content
, wie angefordert.String Wert eines Elements
Dieser XPath,
string(//div[@class='myclass'])
string-value des anvisierten
div
Element zurück,content
, wieder wie gewünscht.Weitere Informationen: Hier ist ein note Erläuterung der strang Werte von Elementen:
Die string-value eines Elementknotens sind die Verkettung des string-value S alle Textknoten descendants des Elements Knoten in Dokumentenreihenfolge.
- 1. PHP XPath: Wie bekomme ich Element-Inhalte?
- 2. Wie bekomme ich Attributwert vom Knoten mit Xpath?
- 3. Wie bekomme ich bestimmten Text nach einem div mit xpath
- 4. Xpath - Wie bekomme ich alle Attributnamen und Werte eines Elements
- 5. Wie bekomme ich das letzte Element einer Sequenz in XPath?
- 6. Wie bekomme ich einen XPath von Selenwebelement oder von lxml?
- 7. Wie bekomme ich den Modul einer Zahl in XPath/XSLT?
- 8. Wie bekomme ich alle inneren Texte von Tag von XPATH?
- 9. Python xPath: Wie bekomme ich Werte in Iteration?
- 10. Robot Framework: Wie bekomme ich XPath von einem Element?
- 11. Ich bekomme HTML in der XPath-Ausgabe! Wie bekomme ich nur Text?
- 12. Wie wähle ich diese Elemente mit Xpath?
- 13. Wie schreibe ich xPath mit 2 Spalten
- 14. Wie bekomme ich xpath aller Elemente in XML-Datei mit Standard-Namespace mit Python?
- 15. Wie bekomme ich den Text von td Knoten mit rohen Text und einen Link mit Xpath
- 16. Wie bekomme ich einen Wert von einem XML mit XPath in Go
- 17. Wie bekomme ich den richtigen xpath mit dem gleichen Namen? Scrapy
- 18. Wie bekomme ich den kompletten xpath für ein Web-Element mit Ruby Capybara.Bitte geben Sie
- 19. Wie bekomme ich den Wert eines Attributs mit XPath und Saxon
- 20. Wie bekomme ich den absoluten Knotenpfad in XML mit XPath und Ruby?
- 21. Wie bekomme ich den xpath, indem ich auf ein html Element klicke
- 22. Wie Elemente mit XPath bekommen
- 23. Wie bekomme ich Text mit Selen-Web-Treiber in Python
- 24. Wie HTML5-Datenattribut mit Xpath erhalten?
- 25. Wie bekomme ich die Position() eines XElement?
- 26. Wie benutze ich XPath in Nokogiri?
- 27. mit XPath-default-Namespace
- 28. Java Selenuim: Wie validiere ich xpath?
- 29. Wie bekomme ich die Img src mit Nokogiri und at_css
- 30. Wie nehme ich XPATH in einen Iframe?
Wie würden mehrere Textknoten aussehen wie in XML? Würde text() eine Verkettung aller inneren Texte zurückgeben, die ein Kind des ausgewählten Knotens? – CoDEmanX
@CoDEmanX: '