2011-03-03 67 views
0

我必须获取电子邮件的内容(HTML格式)并将其保存为字符串,然后应该解析该字符串以获取所需的详细信息并准备XML输出。将HTML解析为Java中的字符串

我使用的是JAMES,我希望它能在Java中完成。如何将HTML页面转储到字符串中?你认为我在解析时不会遇到双引号,空格和反斜杠的问题吗?

现在我正在测试我的本地系统上的mailserver。 我从user1 @ localhost发送邮件到user2 @ localhost,格式为HTML 另一方面,我想转换解析HTML页面以创建一个具有所需值的XML文档。

+1

[JAMES](http://james.apache.org/)是* *服务器,是吗?你想在邮件*客户端*或服务器端处理传入邮件时进行此操作吗?我还建议你的问题太广泛而无法得到有效的回答 - 如果你发布了你将要使用的代码的框架,可能会有类似'String htmlStr = //将FooMessageImpl转换为字符串这里显示你需要转换的地方。 – 2011-03-03 11:37:35

回答

1

你可以试试这个例子。转储html页面并将该数据写入data.html文件。 从波纹管代码你可以追加结果到StringBuffer并替换html特殊字符。

public class UrlReadPageDemo { 
    public static void main(String[] args) { 
    try { 
     URL url = new URL("http://example.com"); 

     BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); 
     BufferedWriter writer = new BufferedWriter(new FileWriter("data.html")); 

     String line; 
     while ((line = reader.readLine()) != null) { 
      System.out.println(line); 
      writer.write(line); 
      writer.newLine(); 
     } 

     reader.close(); 
     writer.close(); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

}