在JAVA中替换HTML文件的占位符

时间:2018-09-30 13:23:12

标签: java html jsoup

我正在使用 jsoup 库来解析Java中的HTML文件。 我想替换该HTML文件的占位符。 目前,我将占位符放在<span id = "id_1"> xx </span>中并替换它们。

我曾尝试做很多其他事情,但没有成功。

    Document doc = Jsoup.parse(new File("abc.html"), UTF_8);
    doc.getElementById("id_1").text("MUKUL");

我的html文件中的占位符就像<%= name %>。我想用合适的值替换所有占位符。现在,我已经在html文件中进行了更改,以将占位符放在<span id = "id_1"> xx </span>标签中。我不想更改我的html模板。

任何人都可以提出一些更干净,更好的方法来实现这一目标。

为什么不将其更改为String :我不想更改String中的html文件,因为html文件包含一些日语字符,并且每当我将其转换为字符串时,某些日语字符变形并产生一些垃圾数据。

1 个答案:

答案 0 :(得分:0)

顺便说一句-如果您正在使用JSoup来“破坏”日文字符,那么...您可能希望添加此行(如果您正在输出HTML)...

乱码汉字或日语汉字在HTML标头中需要以下行:

<META http-equiv="Content-Type" content="text/html; charset=utf-8" />

您应该能够阅读:

我刚完成一个HTML Parse包。我从未能够使用JSoup。我昨天发布了。我已经为此工作了一年多。我解析中文字符-而不是日语,并且了解UTF-8。

  

下载:http://developer.torello.directory/JavaHTML/index.html

     

有可用的文档。

     

我的网站是:

           

他们抓新闻,我每天都在建造它们。

有了我的“ JavaHTML.jar”文件以及上面链接上的可用文档,解析甚至转换HTML文件都非常容易。我用它们来抓取外国新闻网站-以便人们可以阅读亚洲的文章-我们在这里使用的所有这些计算机都是每天制造的。...

我不知道唐纳德·特朗普是否喜欢它。

import Torello.HTML.*;
import Torello.Java.*;

import java.util.*;
import java.io.*;

public class Scrape
{
    public static void main(String[] argv) throws IOException
    {
        Vector<HTMLNode> page = HTMLPage.getPageTokens(new java.net.URL("abc.html"), false);
        Iterator<Integer> i = TagNodeFind.iterator(page, TC.OpeningTags, "span");
        while (i.hasNext())
        {
            int pos = i.next().intValue();
            System.out.println(page.elementAt(pos));        // <SPAN ID="id_1">
            System.out.println(page.elementAt(pos + 1));    // The text that follows
            String replacementText = "Your Text Replacement Here...[<% === %/] or whatever.";
            page.setElementAt(new TextNode(replacementText), pos + 1);
            System.out.println("Replaced with: " + replacementText);
            System.out.println();
        }
        // Print the new HTML page from the old page-vector..
        StringBuffer out = new StringBuffer();
        for (HTMLNode n : page) out.append(n.str);
        FileRW.writeFile(out, "New HTML Page.html");
    }
}