在......内部解析HTML <!---->标签

时间:2012-09-14 23:52:35

标签: java android xml-parsing jsoup

全部 - 我有以下代码:

class AddStringTask extends AsyncTask<Void, String, Void> {    
    @Override
    protected Void doInBackground(Void... unused) {
        org.jsoup.nodes.Document doc = null;
        try {
            doc = Jsoup.connect("http://scores.espn.go.com/
                                 nfl/gamecast?
                                 gameId=320909007',%20'gamecast320909007"
                               ).get();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        docTitle = doc.select("head").first().text();
        return null;    
    }
}

我得到了输出“NFL Gamecast - Chicago vs Green Bay”(绿湾赢了)。这很好,但是当我试图得到实际分数时,我无法弄清楚如何。我的问题是我试图将{head}替换为<div id="awayScoreBox" class="vscorebox">...</div>(这是<Body>标签下)。所以按照使用“head”标签的格式我尝试了这个:

docTitle = doc.select("div id="awayScoreBox" class="vscorebox"").first().text();
return null;    

你可以想象我遇到了语法错误但无法找出原因。我意识到我可能必须指定它在<Body>标签下,但我找不到有关如何执行此操作的任何信息。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

它是selecting id and class at the same time的css选择器,所以它是

doc.select("div#awayScoreBox.vscorebox");

答案 1 :(得分:0)

你没有逃避报价。您目前正在使用此功能。

docTitle = doc.select("div id="awayScoreBox" class="vscorebox"").first().text();
return null;

doc.select部分改为此。

doc.select("div id=\"awayScoreBox\" class=\"vscorebox\"").first().text();

这就是你得到SyntaxException

的原因