Metodo consigliato per ottenere posizioni dei caratteri di tutti i tag HTML in un documento

StackOverflow https://stackoverflow.com/questions/9339427

  •  27-10-2019
  •  | 
  •  

Domanda

Quindi espressioni regolari può avere effetti collaterali. Qual è quindi il metodo preferito per ottenere le posizioni di inizio e carattere finale di tutti i tag HTML in un documento? Le biblioteche di analisi come JSoup e Nekohtml non sembrano fornire queste informazioni, anche Xmllocator non sembra applicare, poiché fornisce solo il fine dell'evento del documento attuale.

Non sono interessato al tipo o al nome del tag, a uno qualsiasi dei suoi attributi o al timore del testo. Voglio solo sapere da dove iniziano e dove finiscono.

Ai fini di questa domanda, si può presumere che l'HTML della sorgente sia valida.

È stato utile?

Soluzione

Ero curioso, quindi ho trovato questo parser: http://jericho.htmlparser.net/

public void testJericho() throws IOException{

    Source source=new Source(new URL("http://example.com/"));
    List<Element> elementList=source.getAllElements();
    for (Element element : elementList) {
        printElement(element);
    }

}

public void printElement(Element element) {
    List<Element> children = element.getChildElements();
    for(Element child: children) 
        printElement(child);

    System.out.println(element.getName() + " start: " + element.getBegin());
    System.out.println(element.getName() + " end: " + element.getEnd());        
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top