我正在尝试使用 JSoup 从无到有生成 HTML,即不解析文件,而是生成 HTML 输出以便在对象中显示数据。我是 JSoup 的新手,一直在寻找一些关于如何使用它来生成 HTML 的示例,但没有为这个特定任务找到太多有用的内容,所以我一直在修修补补,但收效甚微。这是一些[非工作]代码:
package jsouptest;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JSoupTest {
public static void main(String[] args) {
Document doc = new Document("");
Element headline = doc.body().appendElement("h1").text("Some text");
Element pTag = doc.body().appendElement("p").text("some text ...");
Element span = pTag.prependElement("span").text("MoarTxt");
}
}
这一行:
Element headline = doc.body().appendElement("h1").text("Some text");
抛出一个NullPointerException
. 通过一些试验和错误,我相信我已经确定问题是在doc.body()
任何地方都没有定义。我假设(显然,错误地)一个新实例化的对象Document
会带有一个空的主体。然而,情况似乎并非如此。我不知道是否需要实例化一个新的 body 元素。我已经阅读了Document
该类的 javadoc,但没有看到任何可以为我生成 body 元素的工厂或 setter 方法。
也欢迎对JSoup API JavadDoc之外的可能有用的资源提出建议。