Ho un XPath per selezionare una classe che desidero: //div[@class='myclass']
. Ma mi restituisce l'intero div (con anche il <div class='myclass'>
, ma vorrei tornare solo il contenuto di questo tag senza il tag stesso. Come posso fare?Come ottenere il valore del nodo/innerHTML con XPath?
risposta
Con xpath, la cosa che verrà restituita è l'ultima cosa nel percorso che non è una condizione. Che cosa significa? Bene, le condizioni sono le cose tra []
(ma lo sapevi già) e il tuo legge come pathElement [che ha un attributo 'class' con valore 'la mia classe']. hElement arriva direttamente prima dello [
.
Tutto il materiale esterno del []
's allora è il percorso, quindi in //a/b/c[@blah='bleh']/d
un, b, c e d sono tutti gli elementi di percorso, bla è un attributo e bleh un valore letterale. Se questo percorso corrisponde ti restituirà un d, l'ultima cosa non condizionata.
Il tuo percorso particolare restituisce una (serie di) div, è l'ultima cosa nel percorso del tuo xpath. Questo valore di ritorno include quindi il/i nodo/i di livello superiore, div nel tuo caso e al di sotto di essi tutti i suoi figli. I nodi possono essere elementi o testo (o commenti, istruzioni di elaborazione, ...).
Sotto un nodo possono esserci più nodi di testo, da cui parla l'array pOcHa. x/text()
restituisce tutto il testo figlio diretto di x, x/node()
restituisce tutti i nodi figlio, incluso il testo.
Spero che questo aiuti.
node() = innerXml
text() = innerText
entrambi sono array, così il testo ([1] è un primo nodo di testo per bambini ...
Si può provare
// div [@ class = 'MyClass']/child :: *
bambino :: * seleziona tutti gli elementi figli del nodo di contesto see details
nuova risposta a un vecchio, domanda frequente:
Per questo XML
<div class="myclass">content</div>
è possibile utilizzare XPath per selezionare solo content
in uno dei due modi:
nodo di testo Selezione
Questo XPath,
//div[@class='myclass']/text()
selezionerà il nodo di testo figlio dell'elemento target
div
,content
, come richiesto.String valore di un elemento
Questo XPath,
string(//div[@class='myclass'])
tornerà string-value della mirato
div
elemento,content
, ancora una volta come richiesto.altre informazioni: Ecco un note spiegare i stringa valori di elementi:
Il string-value di un nodo elemento è la concatenazione dei string-value s di tutti i nodi testo descendants dell'elemento nodo nell'ordine del documento.
- 1. Come ottenere il valore di un attributo utilizzando XPath
- 2. Come ottenere il valore dell'attributo dal nodo usando xpath?
- 3. Ottenere certo valore di attributo utilizzando XPath
- 4. Come ottenere l'indice degli elementi con xpath?
- 5. Test XPath se il valore del nodo è il numero
- 6. Come posso ottenere un valore da una coppia chiave/valore xml con xpath nel mio xslt?
- 7. XPath per ottenere l'elemento con il più alto ID
- 8. Estrai il valore del nodo attributo tramite XPath
- 9. Come ottenere il valore float con SqlDataReader?
- 10. get del campo di input con XPath
- 11. Ottenere valore del nodo utilizzando il modulo XML :: XPath in Perl
- 12. Come ottenere il valore dell'attributo utilizzando SelectSingleNode?
- 13. XPath per recuperare il valore XML SQL
- 14. Utilizzo XQuery/XPath per ottenere il valore dell'attributo del nodo genitore di un elemento
- 15. jquery come ottenere il valore del valore di testa iframe
- 16. Ottieni il valore di xsi: tipo con xpath
- 17. query XPath come ottenere il valore di un attributo in base a due attributo
- 18. Come posso ottenere il valore del form attuale del target?
- 19. Come ottenere il valore del titolo del documento in lattice?
- 20. Ottieni il testo del secondo elemento con XPath?
- 21. Come posso ottenere il valore da un attributo usando xmllint e XPath?
- 22. Come ottenere il valore da Object, con valore di default
- 23. XPath per ottenere tutto il testo nell'elemento come un valore, eliminando le interruzioni di riga
- 24. Come ottenere il valore del cookie nel sito Web asp.net
- 25. Utilizzo di XPath per ottenere il testo del paragrafo con collegamenti interni
- 26. Come ottenere il valore dell'elemento nascosto in capibara?
- 27. Come selezionare un nodo XML con il valore di nodo #text child più lungo con XPath?
- 28. Javascript ottenere il valore del testo del pulsante personalizzato
- 29. Come ottenere il modulo di un numero in XPath/XSLT?
- 30. XPATH Query: come ottenere due elementi?
Come apparirebbero più nodi di testo in XML? Text() restituirà una concatenazione di tutti i innerTexts di un figlio del nodo selezionato? – CoDEmanX
@CoDEmanX: '