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 要素をインスタンス化する必要があるかどうかわかりません。クラスの javadoc を読みましたDocument
が、body 要素を生成するファクトリ メソッドやセッター メソッドが見つかりません。
JSoup API JavadDoc以外の参考になるリソースの推奨事項も歓迎します。