• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2113
  • Last Modified:

read the html table data using java.

I have a html source and I want to read the table data from it using java
for eg:-
</table>
</tr>
<tr><td>Test Studio Id</td>
<td>Debug Code</td>
<td>getResponse Code?</td>
<td>getResponse Message?</td>
</tr>

<tr><td>TC_001</td>
<td>DC002</td>
<td><span class="pass">EXCEPTION_DECODE_FAILED</span></td>
<td><span class="ignore">Invalid serial number</span></td>
</tr>

I want to read the two values
1) "Test Studio Id" column values and corresponding
2) span class = 'pass' fromr "getResponse Code?" column.

Can anyone please help?
0
NishantKashyap
Asked:
NishantKashyap
  • 3
  • 3
  • 2
1 Solution
 
CEHJCommented:
For simple html:  http://www.exampledepot.com/egs/javax.swing.text.html/GetText.html
but for something more complex, use a fuller-featured parser
0
 
NishantKashyapAuthor Commented:
Thanks CEHJ.. but I already have a code to get the content(source) of HTML file using java, now I want to get the specific values from the table inside that source/html content.
0
 
NishantKashyapAuthor Commented:
my code for reading the html file is :-
public class SourceViewerNew{
  public static void main (String[] args) throws IOException{
    System.out.print("Enter url of local for viewing html source code: ");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String url = br.readLine();
    try{
      URL u = new URL(url);
      HttpURLConnection uc = (HttpURLConnection) u.openConnection();
      int code = uc.getResponseCode();
      String response = uc.getResponseMessage();
      //System.out.println("HTTP/1.x " + code + " " + response);

     
      for(int j = 1; ; j++){
        String header = uc.getHeaderField(j);
        String key = uc.getHeaderFieldKey(j);
        if(header == null || key == null)
          break;
       // System.out.println(uc.getHeaderFieldKey(j) + ": " + header);
      }
      InputStream in = new BufferedInputStream(uc.getInputStream());
      Reader r = new InputStreamReader(in);
      int c;
      Writer output = null;
      // File file = new File("C:\\SourceCode.txt");
        //output = new BufferedWriter(new FileWriter(file));
     StringBuffer sb = new StringBuffer();
      while((c = r.read()) != -1){
        //System.out.print((char)c);
       // output.write((char)c);  
        sb.append((char)c);
      }

now I want to search my query in the extracted html content.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
CEHJCommented:
You'd need to reparse the collected html if you want to do it that way
0
 
CEHJCommented:
Change the example from

>>Reader rd = new InputStreamReader(conn.getInputStream());


to
Reader rd = new InputStreamReader(new StringReader(sb.toString()));

Open in new window

0
 
NishantKashyapAuthor Commented:
Thanks for the reply but still my original question is not answered... how do I read the table data ?
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now