Vorrei rimuovere quei tag con il loro contenuto dall'origine HTML.Come cercare i commenti ("<!-- -->") utilizzando Jsoup?
risposta
Durante la ricerca si utilizza in genere Elements.select(selector)
dove selector
è definito da this API. Tuttavia i commenti non sono elementi tecnicamente, quindi potresti essere confuso qui, pur essendo nodi identificati dal nome del nodo #comment
.
Vediamo come potrebbe funzionare:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Node;
public class RemoveComments {
public static void main(String... args) {
String h = "<html><head></head><body>" +
"<div><!-- foo --><p>bar<!-- baz --></div><!--qux--></body></html>";
Document doc = Jsoup.parse(h);
removeComments(doc);
doc.html(System.out);
}
private static void removeComments(Node node) {
for (int i = 0; i < node.childNodesSize();) {
Node child = node.childNode(i);
if (child.nodeName().equals("#comment"))
child.remove();
else {
removeComments(child);
i++;
}
}
}
}
che è buono e questo codice di lavoro
doc.select("#comment").remove();
e per codice di rimuovere molti tag
doc.select("script, style, meta, link, comment, CDATA, #comment").remove();
'doc.select (" # commento "). Remove();' non funziona, non rimuove i commenti html. Ha funzionato per te? – yetanothercoder
'doc.select (" # commento "). Remove()' indica "Rimuovi tutti i nodi con campo id uguale a" commento "." – Stephan
- 1. Perché outerHTML riporta i commenti <!-- -->?
- 2. Javascript per afferrare i commenti JavaScript all'interno <head>
- 3. Come utilizzare i commenti condizionali di Internet Explorer in JSF?
- 4. Impedire JSOUP da attributo unencoding valori
- 5. Come cercare una stringa in List <tuple <string, string >> in C#
- 6. Come funziona (i << 48) | ((i & 0xffff0000L) << 16) | ((i > >> 16) e 0xffff0000L) | (io >>> 48) lavoro?
- 7. Creare un'espressione <Func<,>> utilizzando la riflessione
- 8. html tidy rimuove i tag vuoti, come <i class = 'icon-foo'></i>
- 9. utilizzando <%= %> o <%# %> con runat = server ASP.NET
- 10. Ant compito replaceregexp - Incontro e sostituire i commenti HTML bloccano
- 11. Utilizzando boost :: numeric_cast <>
- 12. ASP.NET Commenti lato server all'interno <script> Blocco
- 13. C# XML /// Commenti, dove viene visualizzato il tag <returns></returns>?
- 14. Commenti XML C#: quanti riferimenti <see ... /> nei commenti XML sono utili?
- 15. Come conservare i commenti condizionali nell'elemento <html> in un tema Diazo?
- 16. Come mappare <C-/> per commutare i commenti su vim?
- 17. IEnumerable <IEnumerable <T>> per IEnumerable <T> utilizzando LINQ
- 18. Jsoup - Come pulire html evitando di eliminare l'html indesiderato?
- 19. Come cercare un ',' e sostituire con ',' <CR><LF> nell'editor di SQL Server Management Studio
- 20. C'è un modo per scegliere come target il browser Windows Mobile 7.5 utilizzando i commenti condizionali?
- 21. <script><!--//--></script> ha uno scopo moderno?
- 22. Come ottenere i browser visitati sui link visitati nel modulo <url> # <anchor>
- 23. Come funziona MomentJS confrontando i valori con> e < (and > =, <=)?
- 24. TextMate js.erb: toggle <%= %>, <% %>
- 25. stampa "<html>" utilizzando html
- 26. Trovare un elemento in un elenco <> utilizzando C#
- 27. Come richiamare System.Linq.Enumerable.Count <> su IEnumerable <T> utilizzando Reflection?
- 28. come convertire Dizionario <dinamico, dinamico> in Dizionario <stringa, stringa> utilizzando Colllection.ToDictionary()
- 29. Lista Fill <int> utilizzando LINQ
- 30. ><<..>> = in uscita
hmm questo mi la sta dando digita errore – user1893354
Se riesci a ottenere una versione di Jsoup di 6 anni, funzionava allora. Altrimenti, se l'API viene aggiornata, accolgo correzioni per aggiornare questo esempio. Sembra che l'elenco childNodes sia stato reso non modificabile in alcune versioni. –
dlamblin