Библиотека HTML в TXT, которая имитирует вывод "lynx -dump"? - PullRequest
0 голосов
/ 12 ноября 2010

Проблема действительно такая конкретная.

Мне нужна библиотека на Java, которая может принимать HTML-контент и генерировать текст в том же формате, что и программа Linux lynx.


Мне нужно предоставить данные, предоставленные сторонними серверами, конечным пользователям на Android. Формат данных древний, в плохо отформатированном HTML, настолько, что я пытался читать его, используя java, и иногда он терпел неудачу (неприемлемо). Он также растет с каждым месяцем (исключая предварительную установку), и я не могу убедить их перейти на «современные» вещи (жизнь в XML и т. Д. Была бы великолепна).

Кратчайший маршрут: я написал класс для использования службы W3 html2txt онлайн (поиск в Google). Он работал нормально в приложении, пока я не получил жалоб и не заметил, что служба W3 иногда дает сбой. Это не такая уж большая проблема, но логика черного ящика предполагает, что вывод будет в этом «похожем на рысь» текстовом формате.

Поэтому я бы хотел, чтобы библиотека выполняла преобразование (HTML-> TXT) в «стиле рыси» внутри приложения и избегала сбоев в работе сервиса W3. И кроме того, рысь выводит, пожалуй, лучшее, что я видел, самое организованное и аккуратное.

Ребята, вы что-нибудь знаете?

Ответы [ 2 ]

0 голосов
/ 29 октября 2011

Через год я сдаюсь.Ответ: нет способа справиться с этим, нет библиотеки на Java. По крайней мере, пока.Спасибо за внимание.

0 голосов
/ 12 ноября 2010

не уверен, что вы подразумеваете под lynx style, поэтому я могу быть совершенно не согласен с этим (если так, извините меня).

Некоторое время назад я использовал какой-то кусок кода для проверки файлов HTML / XML (в то время я просто печатал его в журналах

InputStream in = context.getResources (). OpenRawResource (id); StringBuffer inLine = new StringBuffer (); InputStreamReader isr = new InputStreamReader (in); BufferedReader inRd = new BufferedReader (isr);

текст строки; while ((text = inRd.readLine ())! = null) { inLine.append (текст); inLine.append ( "\ п"); } in.close (); return inLine.toString ();

Надеюсь, это поможет, но у меня такое ощущение, что тебе нужно что-то более сложное: P

...