Jsoup与Android
我已经看了文档,但仍然有问题。我想从网页中获取信息,这些信息存储在一个表中。一旦我检索到它,我想将其拆分为单独的行,以便以后使用;但我似乎做不到 我的JSoup运行良好,但当我试图通过Id引用所需的特定表时,它不起作用,例如:Jsoup与Android,android,jsoup,Android,Jsoup,我已经看了文档,但仍然有问题。我想从网页中获取信息,这些信息存储在一个表中。一旦我检索到它,我想将其拆分为单独的行,以便以后使用;但我似乎做不到 我的JSoup运行良好,但当我试图通过Id引用所需的特定表时,它不起作用,例如: try { Document doc = Jsoup.connect( myHtml ).get(); Elements pTag = doc.select
try
{
Document doc = Jsoup.connect( myHtml ).get();
Elements pTag = doc.select( "table#ctl00_ContentPlaceHolder1_tblPasses" );
//Elements links = doc.select( "a[href]" );
String pTagString = pTag.html();
// Set the textview to the results of the Jsoup query
setData( pTagString );
// Reset msg
msg = null;
msg = handler.obtainMessage( UPDATE_UI );
handler.sendMessage( msg );
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以下是我试图获取的HTML代码片段:
<table id="ctl00_ContentPlaceHolder1_tblPasses" class="standardTable" cellspacing="0" cellpadding="4" rules="cols" border="2" style="background-color:White;border-color:Gray;border-width:2px;border-style:Solid;border-collapse:collapse;">
<tr class="tablehead" style="border-width:0px;border-style:None;">
<td valign="middle" rowspan="2">Date</td><td id="ctl00_ContentPlaceHolder1_MagHeader" valign="middle">Brightness</td><td align="center" colspan="3">Start</td><td align="center" colspan="3">Highest point</td><td align="center" colspan="3">End</td>
</tr><tr class="tablehead">
<td id="ctl00_ContentPlaceHolder1_MagHeader2" align="center">(<a id="ctl00_ContentPlaceHolder1_linkMagnitude" title="show definition of this term" href="glossary.aspx?term=magnitude&lat=54.5156&lng=-6.06863&loc=Unspecified&alt=0&tz=GMT">mag</a>)</td><td align="center">Time</td><td><a id="ctl00_ContentPlaceHolder1_linkAltitude" title="show definition of this term" href="glossary.aspx?term=altitude&lat=54.5156&lng=-6.06863&loc=Unspecified&alt=0&tz=GMT">Alt.</a></td><td><a id="ctl00_ContentPlaceHolder1_linkAzimuth" title="show definition of this term" href="glossary.aspx?term=azimuth&lat=54.5156&lng=-6.06863&loc=Unspecified&alt=0&tz=GMT">Az.</a></td><td align="center">Time</td><td>Alt.</td><td>Az.</td><td align="center">Time</td><td>Alt.</td><td>Az.</td>
但它实际上返回整个表,而不是第一行。我是否应该尝试瞄准表中行的实际标识符?如果是这样的话,你怎么做呢?换一种想法,直接从父项中选择子项
元素第一行=doc.selecttablectl00\u内容占位符1\u tblPasses tr.first 换一种想法,直接从父对象中选择子对象
元素第一行=doc.selecttablectl00\u内容占位符1\u tblPasses tr.first 嗨,伙计-只是想告诉你-是的,我让它工作了,虽然我的确切方法是诱饵循环,因为我决定在前面的基础上引用每个组件。像table>rows>first row>firstCell使用[href]等等。感谢您的帮助:DHi mate-只是为了更新您-是的,我已经开始工作了,尽管我的确切方法是诱饵法,因为我决定在前面的基础上引用每个组件。如表格>行>第一行>使用[href]的firstCell等。感谢您的帮助:D
Elements table = doc.select( "table#ctl00_ContentPlaceHolder1_tblPasses" );
Element first_Row = table.first();
//Elements links = doc.select( "a[href]" );
String first_Row_Strg = first_Row.html().toString();
// Set the textview to the results of the Jsoup query
setData( first_Row_Strg );