Solved

read the html table data using java.

Posted on 2010-11-16
8
1,826 Views
Last Modified: 2013-11-23
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
Comment
Question by:NishantKashyap
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 34143863
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
 

Author Comment

by:NishantKashyap
ID: 34143890
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
 

Author Comment

by:NishantKashyap
ID: 34143898
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 86

Expert Comment

by:CEHJ
ID: 34143919
You'd need to reparse the collected html if you want to do it that way
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 34143930
Change the example from

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


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

Open in new window

0
 

Author Comment

by:NishantKashyap
ID: 34144148
Thanks for the reply but still my original question is not answered... how do I read the table data ?
0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 34144327
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question