我正在使用内置的Java XML转换器将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
,据说可以实现我想要的效果。但是似乎被忽略了。