<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    <meta http-equiv="content-type" content="text/html; charset=ISO-2022-JP">
    <title>$B8DJL%a!<%kAw?.(BHTML $B%$%s%i%$%s2hA|$"$j(B</title>
  </head>
  <body text="#000000" bgcolor="#ffffff">
    $B8DJL%a!<%kAw?.(BHTML $B%$%s%i%$%s2hA|$"$j(B<br>
    <br>
    $B%F%9%H(B<br>
    <br>
    <img alt="$B%5%s%W%k(B"
src="http://www.test.co.jp/img/WeeMee_20644801_for_zodiac_leo0078.jpg"
      width="116" height="128"><br>
    <br>
    <div align="right">$B0J>e(B<br>
    </div>
    <pre class="moz-signature" cols="72">-- 
  </body>
</html>我解析上面邮件的HTML文本内容的时候,因为有 <title>$B8DJL%a!<%kAw?.(BHTML $B%$%s%i%$%s2hA|$"$j(B</title>中类似乱码的东西,而导致下面查询不到  <img  这个tag ,这种问题如何解决呢
        // 構文解析オブジェクトの生成
        Parser parser = Parser.createParser(htmlString, “windows-31j”);
        // 節点リストの生成
        NodeList nodeList = parser.extractAllNodesThatMatch(new StandardNodeFilter());
        // 一時変数:タグ
        Tag tag;这样的问题如何解决呢, 假如我把这些 <title>$B8DJL%a!<%kAw?.(BHTML $B%$%s%i%$%s2hA|$"$j(B</title>内容 去掉的话就能正常找到 IMG的结点。

解决方案 »

  1.   

    估计LZ是把邮件正文作为XML ,用DOM或者SAM来解析对于标准格式的XML,因为
    <title>$B8DJL%a!<%kAw?.(BHTML $B%$%s%i%$%s2hA|$"$j(B</title>
    中乱码含有"<", 所以就破坏了XML格式,解析失败
      

  2.   

    编码不一致。  Parser parser = Parser.createParser(htmlString, “windows-31j”);
    改为
    ISO-2022-JP
    shishi
      

  3.   

    恩 楼上说的我试验了 ,修改成 ISO-2022-JP 也解析不了。这个比较不爽啊 
      

  4.   

    $B8DJL%a!<%kAw?.(BHTML $B%$%s%i%$%s2hA|$"$j(B<br>这种字符显示在生成的MAIL邮件中都能正常显示成日文汉字! 这些都没有问题,
    现在唯一的问题就是如何能 找到结点, 或是怎么样通过转化字符能识别出下面的IMG结点
      

  5.   

    先把title节点去掉再解析呗。