【问题标题】:Way to turn this poorly formed HTML into well-formed XHTML?将这种格式不佳的 HTML 转换为格式良好的 XHTML 的方法?
【发布时间】:2012-04-16 22:00:45
【问题描述】:

我正在使用 JSoup 1.6.2。我有这个 HTML ...

 <a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;""> 

请注意标签末尾之前的杂散引号。我希望 JSoup 能以某种方式清理它。我尝试通过运行来使一切正常...

final org.jsoup.nodes.Document doc = Jsoup.parse(html);

结果是

  <a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;" "="">

这仍然不是很好的格式。有没有办法可以采用格式错误的 HTMl 并使用 JSoup 使其格式正确?除此之外,是否还有另一个 HTML tidy-upper 可以完成上述示例的工作,但也允许我以 String 或 org.w3c.dom.Document 对象的形式访问生成的 HTML?

【问题讨论】:

    标签: html parsing jsoup


    【解决方案1】:

    根据this 的回答,我会推荐你​​使用 JTidy 来“整理”HTML 源代码。

    【讨论】:

    • 谢谢。 JTidy 适用于我的情况。我在看他们的网站,最后一个版本似乎是从 2007 年开始的。这是否意味着该项目已经死亡?
    【解决方案2】:

    您可以使用正则表达式替换来解决此问题吗?我不确定如何在 Java 中做到这一点,但在 JavaScript 中会是这样的:

    var str = '<a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;"">';
    
    var newStr = str.replace(/""/,'"');
    //<a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;">
    

    【讨论】:

      猜你喜欢
      • 2012-02-02
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      相关资源
      最近更新 更多