Jsoup baseUri ушел после выбора - PullRequest
4 голосов
/ 24 июля 2011

Я только что обнаружил, что установка baseUri необходима для каждого элемента, который вы получаете, выполняя select.Было бы намного лучше, если baseUri документа применяется к каждому элементу.

Document d = Jsoup.parse(myString);
doc.setBaseUri("http://www.google.de");

Если я выполню

Element e = d.select(....).get(0);

BaseUri e пуст.*

Это ошибка или она предназначена?

1 Ответ

3 голосов
/ 24 июля 2011

Базовый URI специфичен для каждого элемента, так как в HTML есть случаи, когда базовый URI может изменяться на протяжении всего анализа.В настоящее время установка его в документе после анализа не приводит к его наложению на дочерние узлы.

Просто укажите при анализе строки HTML, например:

Document doc = Jsoup.parse(myString, "http://www.google.de");

Если вы извлекаете HTML-код из URL-адреса и анализируете его (с помощью Jsoup.connect ), базовый URI устанавливается автоматически.

...