Как добавить новые теги в JTidy? - PullRequest
3 голосов
/ 23 января 2012

Я пытаюсь использовать jTidy для извлечения данных из (реального мира) HTML. Но jTidy не анализирует пользовательские теги.

<html>
  <body>
    <myCustomTag>some text</myCustomTag>
    <anotherCustom>more text</anotherCustom>
  </body>
</html>

Я не могу получить текст между пользовательскими тегами. Мне нужно использовать jTidy, потому что я буду использовать xpath.

Я пробовал HTMLCleaner, но он не поддерживает полные функции xpath.

Ответы [ 2 ]

3 голосов
/ 09 сентября 2013

Вы также можете установить свойства, используя объект Java Properties, например:

import java.util.Properties;
Properties oProps = new Properties();
oProps.setProperty("new-blocklevel-tags", "header hgroup article footer nav");

Tidy tidy = new Tidy();
tidy.setConfigurationFromProps(oProps);

Это избавит вас от необходимости создавать и загружать файл конфигурации.

2 голосов
/ 17 марта 2012

Проверить http://tidy.sourceforge.net/docs/quickref.html#new-blocklevel-tags

Быстро и грязно это создать файл, я назвал мой jTidyTags и позвонить:

Tidy tidy = new Tidy();
tidy.setConfigurationFromFile("jTidyTags");

После этого он выдаст предупреждениеговорят, что это не соответствует W3C, но кого это волнует.Это позволит вам разобрать файл.

Примером jTidyTags для вас будет:

new-blocklevel-tags: myCustomTag anotherCustom

Надеюсь, это поможет!

...