Я искал повсюду в течение нескольких дней, сейчас пытаюсь найти ответ на следующую проблему. Я довольно новичок в программировании на Java и Android и учился в основном из сценариев копирования-вставки-редактирования, но, несмотря на то, что вокруг было несколько учебных пособий, я действительно борюсь с этим.
Я попробовал htmlcleaner в качестве парсера, и я уверен, что я близко, но просто не могу понять это правильно.
Я пытаюсь проанализировать таблицу значений на веб-сайте (т.е. <TR>TD,TD,TD,TD</TR>
) в стандартную базу данных Android SQLite. Таким образом, каждая строка таблицы будет строкой в БД.
Теоретически это должно быть довольно просто, но меня засыпают разными методами, и я не понимаю простого, чистого способа сделать это.
Кто-нибудь может помочь? Пожалуйста, не указывайте мне на htmlparser или неспецифическое руководство, потому что я работал над этим целую вечность и не могу управлять решением.
Табличные значения, которые я пытаюсь проанализировать, находятся здесь: Команды и значения
EDIT :::
Ладно, я думаю, что приближаюсь, используя JSoup. Я могу получить значение из тега [td] и поместить его в строку. Однако как я могу адаптировать следующий код так, чтобы каждая строка (то есть в каждом [tr]) повторялась для каждого 'for', а каждое значение [td] помещалось в массив String?
public class GetTable extends Activity {
static String hello;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testlayout);
try {
populateTexts();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void populateTexts() throws IOException{
String url = "http://news.bbc.co.uk/mobile/bbc_sport/rugby/competition/ru100/table/index.shtml?context=cps_ukfs";
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("td");
for (Element link : links) {
hello = link.text();
TextView twittertext10 = (TextView)findViewById(R.id.testView1);
twittertext10.setText(hello);
}
}
}