Java 使用JSoup将标记替换为字母

Java 使用JSoup将标记替换为字母,java,html,css,jsoup,Java,Html,Css,Jsoup,您好,我尝试过这些答案:对于我的案例,没有成功。我正在用JSoup解析一个网站,我运行了一个accross-letter-look GIF图像。幸运的是,这些gif图像有一个特定的名称,例如字母“a”的a.gif HTML输入: <body> <p><img src="http://www.example.com/images/a.gif" align="left">mong us!</p> </body> 谢谢您的帮助。使用Te

您好,我尝试过这些答案:对于我的案例,没有成功。我正在用JSoup解析一个网站,我运行了一个accross-letter-look GIF图像。幸运的是,这些gif图像有一个特定的名称,例如字母“a”的a.gif

HTML输入:

<body>
  <p><img src="http://www.example.com/images/a.gif" align="left">mong us!</p>
</body>

谢谢您的帮助。

使用
TextNode
而不是
元素

Document document = Jsoup.parse(html);
if (document.select("img").get(0).attr("src").contains("a.gif")) {
    document.select("img").get(0).replaceWith(new TextNode("A", ""));
    System.out.println(document);
}

上述代码可以按预期打印html。

使用
TextNode
而不是
元素

Document document = Jsoup.parse(html);
if (document.select("img").get(0).attr("src").contains("a.gif")) {
    document.select("img").get(0).replaceWith(new TextNode("A", ""));
    System.out.println(document);
}
上面的代码可以按预期打印html。

试试这个

  Elements elements = doc.select("img[src$=a.gif]");
   for(Element element : elements)
    {
      element.replaceWith(new TextNode("A", null));
    }
试试这个

  Elements elements = doc.select("img[src$=a.gif]");
   for(Element element : elements)
    {
      element.replaceWith(new TextNode("A", null));
    }
试试这个:

Document document = Jsoup.parse(html);
if (document.select("img").get(0).attr("src").contains("a.gif")) {
    document.select("img").get(0).replaceWith(new TextNode("A", null));
}
试试这个:

Document document = Jsoup.parse(html);
if (document.select("img").get(0).attr("src").contains("a.gif")) {
    document.select("img").get(0).replaceWith(new TextNode("A", null));
}

试试这个:

    Document document = Jsoup.connect("http://www.example.com").get();
    if(document.select("img").attr("src").contains("a.gif"))
      {
       String result ="";
       String src =document.select("img").attr("src").text();
       result = src.replace(src,"A");
       System.out.println(result);

      }

试试这个:

    Document document = Jsoup.connect("http://www.example.com").get();
    if(document.select("img").attr("src").contains("a.gif"))
      {
       String result ="";
       String src =document.select("img").attr("src").text();
       result = src.replace(src,"A");
       System.out.println(result);

      }

谢谢,如果我添加了if语句,代码就可以正常工作了。get(0)
if(document.select(“img”).get(0).attr(“src”).contains(“a.gif”))
@AliHashemi,谢谢!我一直在寻找这个解决方案,因为之前我不太了解如何在java中操作html元素
if(document.select(“img”).get(0).attr(“src”).contains(“a.gif”))
@AliHashemi,谢谢!我一直在寻找这个解决方案,因为之前我不太了解如何在java中操作html元素
if(document.select(“img”).get(0).attr(“src”).contains(“a.gif”)
@Rodo-Yep,我错过了我的
if
语句中的
.get(0)
。我会在回答中更正它。谢谢。@JasonCao我想替换图像的路径。因此,我将图像保存在本地,并从本地路径而不是服务器上的路径显示它。谢谢,如果我在if语句中添加,它可以进行少量添加。get(0)
if(document.select(“img”).get(0).attr(“src”).contains(“a.gif”)
@Rodo-Yep,我错过了我的
if
语句中的
.get(0)
。我会在回答中更正它。谢谢。@JasonCao我想替换图像的路径。因此,我将图像保存在本地,并从本地路径而不是服务器上的路径显示它。它可以工作,但我需要一个IF语句提示,因为我可以运行不同的字母。谢谢,谢谢@Niranjan!看来这是唯一的办法
A
应该是
element.text()
。它可以工作,但我需要IF语句提示,因为我可以运行不同的字母。谢谢,谢谢@Niranjan!看来这是唯一的办法
A
将是
element.text()