0

次の問題が発生しています。既知の構造のhtmlファイルを読み取るJavaスニペットを作成しました(以下を参照)。私はそれを要素に分割し、jerichoパーサーを使用してそれらのテキストを取得します。次に、検索が正しいことを確認するためにテキストを印刷したらすぐに、各要素をArrayListに追加します(明らかに検索は正しいです)。html構造から推測できるように、ArrayListの要素iがEmailの場合、要素i+1は値です。スコープの問題だと思いますが、理解できません。手伝ってくれますか?次のコードを使用して値を取得しています。

private static void setVariables() 
{
    count=0;
    for(String s:str)
    {

       if(s.contains("Email"))
       {
          email=getValue(email, count);

       }
     }      
}



private static String getValue(String var, int count) 
{
    var=str.get(count+1);
    count++;
    return var;

}




private static void getElementsText(Source source) 
{


    List<Element> elementListTd = source.getAllElements(HTMLElementName.TD);

    //Scroll through the list of elements "td" page
      int i=0;
    for (Element element : elementListTd) {
        if (element.getAttributes() != null) {
            String td = element.getAllElements().toString();
            String tag = "td";
         //   System.out.println("TD: " + td);
          //  System.out.println(element.getContent());
            String contentsAttributes = element.getTextExtractor().toString();
          //  System.out.println("line "+i+" "+contentsAttributes);
            if(!contentsAttributes.isEmpty())
            {   
            str.add(contentsAttributes);
            }


        }
    }

    str.add(" ");
    setVariables();
}



public static void main(String[] args) throws FileNotFoundException, IOException 
{

  FileReader fr=new FileReader("32EPS 2012-ABSTRACT ~ 1333134955.html");
  BufferedReader br=new BufferedReader(fr);

  getTextFromFile(br);
  Source source = new Source(html_txt);
  getElementsText(source);

}

HTML:

<tr><td class='text11' nowrap>Email</td><td class='text11'>peraueb@dummy.com<td></tr>
<tr><td class='text11' nowrap>Gender</td><td class='text11'>Mr<td></tr>
4

0 に答える 0