我正在使用 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文件包含一些日语字符,并且每当我将其转换为字符串时,某些日语字符变形并产生一些垃圾数据。
答案 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");
}
}