Рекомендуемый метод получения позиций символов всех тегов HTML в документе

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

  •  27-10-2019
  •  | 
  •  

Вопрос

Так регулярные выражения могут иметь побочные эффекты. Анкет Что же тогда является предпочтительным методом получения начала и конечных позиций символов всех тегов HTML в документе? Библиотеки анализа, такие как JSoup и Nekohtml, не предоставляют эту информацию, даже Xmllocator кажется, не применяется, так как он только обеспечивает конец текущего события документа.

Меня не интересует тип или название тега, каких -либо его атрибутов или вычеркиваю что -нибудь из текста. Я просто хочу знать, с чего они начинают и где заканчиваются.

Для целей этого вопроса можно предположить, что источник HTML действителен.

Это было полезно?

Решение

Мне было любопытно, поэтому я нашел этот анализатор: 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());        
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top