【问题标题】:How to write an ampersand character in Jsoup如何在 Jsoup 中编写 & 字符
【发布时间】:2011-11-19 10:19:36
【问题描述】:

我正在使用 Jsoup 来解析和修改一些 HTML。在某些地方,我想在 HTML 中添加一个不间断的空格实体 ( )。我假设我可以像这个简化的例子一样做到这一点:

Element paragraph = someDocument.select("p").first();
paragraph.text("First sentence.  Second sentence.");

但是 Jsoup 将我的   转换为   有效地对 & 符号本身进行了编码。我想我真正的问题是:如何手动将 & 字符写入 Element 的文本?

【问题讨论】:

    标签: java html jsoup


    【解决方案1】:

    你在做 Element.text。如果是 html,请改用 .html(String s),将代码替换为

    Element paragraph = someDocument.select("p").first();
    paragraph.html("First sentence.  Second sentence.");
    

    【讨论】:

    • 这样你就不用担心添加其他特殊的html字符了
    【解决方案2】:

    尝试使用 unicode 值作为不间断空格。

    Element paragraph = someDocument.select("p").first();
    paragraph.text("First sentence.\u00a0Second sentence.");
    

    【讨论】:

    • +1。如果您更喜欢nbsp 而不是00a0,可以使用org.jsoup.nodes.Entities.getCharacterByName("nbsp")
    • 直接在字符串中使用 unicode 转义序列不起作用。但是,Entities.getCharacterByName(String s) 确实有效。仍然选择其他答案,因为我认为它更适合我的确切情况。不过,对 ruak 的评论 +1。该死的我的noobishness。我不能+1评论吗?看来我投了赞成票。 . .
    猜你喜欢
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2021-03-17
    • 2011-02-01
    • 2013-05-13
    • 2014-09-10
    相关资源
    最近更新 更多