組み込みのJavaXMLTransformerを使用して、XMLドキュメントをテキストにシリアル化します。しかし、HTMLモードで出力しているときに問題が発生します。
要素を挿入するたびにhead
、組み込みのトランスフォーマーがMETA
コンテンツタイプのデータを含むタグを挿入することを決定します。データ内にこのタグを含めたくないので、この機能を無効にする出力パラメーターが見つからないようです。xsltスタイルシートを作成して問題のタグを削除できることはわかっていますが、トランスフォーマー自体にパラメーターを設定してそれを無効にすることができれば、より簡単になります。
あなたは「しかし、あなたは本当にこのタグを持っているべきです」と答えるかもしれません-私を信じてください、私はそれを必要としません、簡潔にするために私はそれには入りません。
サンプルコード
Document d;
//d = <html><head><title></title></head><body></body></html>
Transformer t; //properly inited with no xslt specified
t.setOutputProperty(OutputKeys.METHOD,"html");
t.setOutputProperty(OutputKeys.INDENT,"no");
t.transform(new DOMSource(d), result);
System.out.println(result);
戻り値
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title><style type="text/css"></style></head><body></body></html>
META
適切な例として、そのタグは必要ありません。可能な限り最も簡単な方法でそれを取り除くにはどうすればよいですか?
アップデート:
{http://xml.apache.org/xalan}omit-meta-tag
私は私が探していることをすることになっているオプションに出くわしました。しかし、それは無視されているようです。