Sappiamo che XPath è stato creato per l'analisi XML. Che dire di HTML5 dal momento che non rispetta necessariamente le regole XML?XPath è adatto al formato HTML5?
risposta
Esistono 2 XML: XML lessicale e XML analizzato. XPath funziona contro una rappresentazione XML analizzata, come DOM o XDM. È quindi possibile creare XML analizzati da Lexical HTML5, in questo modo è possibile interrogare HTML5 utilizzando XPath.
XPath è per interroga un DOM, non analizza il markup. Un DOM può essere generato da un documento HTML, quindi puoi interrogarlo con XPath.
È possibile con l'enorme avvertenza che probabilmente non dovresti, a meno che tu non abbia anche tu.
Prendere il seguente codice HTML:
<div>
<p> Here is a paragraph
<p> Here is another, is it inside the first, who knows?
</div>
Ora la maggior parte parser HTML accetteranno che i mezzi di sopra di questo:
<div>
<p> Here is a paragraph </p>
<p> And another, is it inside the first, who knows? </p>
</div>
Ora, la XPath /div/p[2]
deve restituire "And another..."
tuttavia, potrebbe ugualmente essere interpretato nel come:
<div>
<p> Here is a paragraph
<p> And another, is it inside the first, who knows? </p>
</p>
</div>
Dove /div/p[2]
non restituisce nulla e XPath /div/p/p
restituisce "And another..."
.
HTML non è XML e non ha bisogno di essere ben formato, quindi l'utilizzo di tecnologie XML con HTML può portare a idiosincrasie. Quindi, se riconosci che dovresti essere ok.
- 1. Formato data HTML5 e MySQL
- 2. Xcode - Formato bundle non riconosciuto, non valido o non adatto
- 3. Qual è l'elemento HTML5 più adatto da utilizzare per "clear: both;" scopi?
- 4. RavenDB è adatto a questo concetto?
- 5. In quali situazioni è adatto CopyOnWriteArrayList?
- 6. Quale costrutto Camel è adatto alla trasformazione?
- 7. MVC è adatto ai dispositivi mobili?
- 8. A quali attività è più adatto F #?
- 9. Haskell è adatto per l'informatica quantistica?
- 10. LLVM è adatto per le lingue parallele?
- 11. Google App Engine è adatto a me?
- 12. Twitter Bootstrap è adatto per touch screen?
- 13. Perché XAMPP non è adatto alla produzione?
- 14. È possibile modificare il collegamento al formato automatico in netbeans?
- 15. Reshaping data.frame dal formato wide al formato lungo
- 16. È hdf5 adatto per misurazioni in tempo reale
- 17. Perché PHP è adatto a siti Web con traffico elevato?
- 18. Area di disegno HTML5 ridimensionata al genitore
- 19. Ruby datetime adatto per il confronto mysql
- 20. HTML5 Canvas - Menu sensibile al contesto
- 21. DDD è adatto per tutti i tipi di applicazione?
- 22. xpath eC#
- 23. ffmpeg in sottoprocesso Python - Impossibile trovare un formato di output adatto per "pipe:"
- 24. C'è un modo per arrotondare i numeri in un formato adatto ai lettori? (Ad esempio $ 1.1k)
- 25. Esiste un formato di scena 3D specifico o adatto per il raytracing?
- 26. Errore asserzione in allegato al formato multiparte
- 27. Quale è più veloce, XPath o Regexp?
- 28. XPath: è possibile combinare le query
- 29. Quale formato è previsto dal parametro namespace in SelectSingleNodeNS
- 30. Aggiungi stringa letterale (testo normale) al risultato XPath
XPath, il linguaggio del percorso XML, è un linguaggio di query per la selezione dei nodi da un documento XML. [Wikipedia]: non c'è ne dom! – user2567191
Tecnicamente, XPath non è definito per operare contro un DOM, ma contro il proprio modello di dati, che in XPath 2.0 è chiamato XDM. Esiste un semplice mapping definito da XML a XDM, ma è anche possibile definire un mapping da HTML5 a XDM. Non esiste una mappatura standard definita per questo, ma per la maggior parte è abbastanza ovvia. –
@ MichaelKay - Cosa intendi con "abbastanza ovvio"? La mappatura dalla serializzazione HTML di HTML5 a DOM non è affatto ovvia. Intendi dire che la mappatura da un'API DOM4 di serializzazione HTML a XDM è "abbastanza ovvia"? – Alohci