标记?-6ren"> 标记?-我正在使用内置的 Java XML 转换器将 XML 文档序列化为文本。但是,当我以 HTML 模式输出时遇到问题。 每当我插入一个 head 元素时,内置转换器决定插入一个带有内容类型数据的 MET-6ren">
gpt4 book ai didi

java - 如何防止使用 "HTML"方法的 Java XML 转换器添加 标记?

转载 作者:数据小太阳 更新时间:2023-10-29 01:55:47 25 4
gpt4 key购买 nike

我正在使用内置的 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,它应该可以满足我的需求。然而,它似乎被忽略了。

最佳答案

尝试在下面添加:

trans.setOutputProperty(OutputKeys.METHOD, "xml");
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");

关于java - 如何防止使用 "HTML"方法的 Java XML 转换器添加 <META> 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1409091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com