首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Java DOM + Transformer时省略xml声明中的standalone属性。

使用Java DOM + Transformer时省略xml声明中的standalone属性。
EN

Stack Overflow用户
提问于 2009-11-06 02:57:41
回答 4查看 20.5K关注 0票数 26

有没有办法告诉Transformer (在使用DOM序列化XML文档时)省略独立属性?

优选地,不使用hack,即省略整个XML声明,然后手动地添加它。

我当前的代码:

代码语言:javascript
复制
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.STANDALONE, "yes"); //Note nothing is changed

StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(document);
transformer.transform(source, result);
 return result.getWriter().toString();

当前:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<someElement/>

目标:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8">
<someElement/>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-11-06 04:03:36

想明白了..。

而不是对变压器进行更改,

我将以下内容添加到document对象。

代码语言:javascript
复制
  document.setXmlStandalone(true);
票数 52
EN

Stack Overflow用户

发布于 2012-01-18 10:21:06

document.setXmlStandalone(true/false);工作正常。

票数 3
EN

Stack Overflow用户

发布于 2018-10-26 00:51:18

您必须使用以下各项的组合:

doc.setXmlStandalone(true);

transformer.setOutputProperty(OutputKeys.STANDALONE, "yes"); // this is used to show the standalone tag

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1682796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档