Использование веб-урожая на Android

1

Я создаю мобильное приложение, которое использует веб-урожай api для извлечения данных с веб-сайта и сохранения его в файле. Затем приложение будет использовать данные для управления им и показать его. Моя проблема заключается в том, что при использовании webharvest для java конфигурационный файл и пути выходного файла относятся к локальному диску, например "C: /config.xml" и "C: /docs", но при использовании этого в проекте Android на Eclipse файл конфигурации должен находиться в проекте, а выходной файл должен быть в проекте или в кеше. Может ли кто-нибудь сказать мне, что мне следует поместить в путь, чтобы прочитать конфигурацию веб-урожая, и путь для записи выходного XML файла?

Теги:
webharvest

1 ответ

0

У меня такая же проблема, и, к сожалению, я не могу заставить ее работать. Я подумал о следующем решении, но он выдает исключение.

InputStream in_s = context.getResources().openRawResource(R.raw.webharvestconfig);
InputSource inputSource = new InputSource(in_s);
ScraperConfiguration config = new ScraperConfiguration(inputSource);

Исключение:

04-25 16:47:26.835: W/System.err(1057): org.webharvest.exception.ParserException: asset
04-25 16:47:26.835: W/System.err(1057): at org.webharvest.definition.XmlParser.parse(Unknown Source)
04-25 16:47:26.846: W/System.err(1057): at org.webharvest.definition.XmlNode.getInstance(Unknown Source)
04-25 16:47:26.846: W/System.err(1057): at org.webharvest.definition.ScraperConfiguration.createFromInputStream(Unknown Source)
04-25 16:47:26.846: W/System.err(1057): at org.webharvest.definition.ScraperConfiguration.<init>(Unknown Source)

Я также попытался написать непосредственно строку xml в InputStream следующим образом:

InputStream in = new ByteArrayInputStream("<?xml version=\"1.0\" encoding=\"UTF-8\"?><config charset=\"UTF-8\"><html-to-xml> <http url=\"http://www.google.com\"/> </html-to-xml></config>".getBytes());

Но без везения (хотя исключение было иначе).

Я не знаю, теоретически, он должен работать. Во время исследования для исключения, которое я только что показал, я даже нашел следующий пример, который использует ScraperConfiguration так же, как я, но...

Просто для того, чтобы встряхнуть полноту и предоставить дополнительную информацию, я предоставляю исходный код из класса ScrapeConfiguration.

Если я смогу заставить его работать, я отредактирую этот пост.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню