Java Transformer、TransformerFactory弄乱了多行xml注释

Java Transformer、TransformerFactory弄乱了多行xml注释,java,xml,comments,wowza,transformer,Java,Xml,Comments,Wowza,Transformer,我在使用Transformer/TransformerFactory更新现有XML文件(在Wowza服务器上)时遇到了一些问题。它运行良好,更新正确,但会造成多行注释混乱 评论开始时是这样的: <!--StorageDir path variables ${com.wowza.wms.AppHome} - Application home directory ${com.wowza.wms.ConfigHome} - Configuration home directory

我在使用Transformer/TransformerFactory更新现有XML文件(在Wowza服务器上)时遇到了一些问题。它运行良好,更新正确,但会造成多行注释混乱

评论开始时是这样的:

<!--StorageDir path variables   
${com.wowza.wms.AppHome} - Application home directory   
${com.wowza.wms.ConfigHome} - Configuration home directory      
${com.wowza.wms.context.VHost} - Virtual host name  
${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory        
${com.wowza.wms.context.Application} - Application name     
${com.wowza.wms.context.ApplicationInstance} - Application instance name        
-->
我需要保持这些多行注释的易读性和正确格式,因为这些xml文件有时需要手动编辑,并且注释用作指南和提醒

有什么意见吗?我怎样才能让变形金刚停止破坏我的评论?非常感谢!:)

编辑:这是最初创建文档的方式(其中appXML是要编辑的Application.xml文件的路径):

之后,我做了很多特定于节点的更改。。。总数太多,无法全部放在这里,但有以下格式所有更改:

更改节点:

Node streamType = document.getElementsByTagName("StreamType").item(0);  
streamType.setTextContent(mountType);   
附加子元素

Node nameNode = document.createElement("Name");
nameNode.appendChild(document.createTextNode("utilities"));

Node module = document.createElement("Module");
module.appendChild(nameNode);

Element modules = (Element)document.getElementsByTagName("Modules").item(0);
modules.appendChild(module);

希望这些信息有帮助

您使用的是什么变压器工厂实现?你试过另一个吗?你有证据表明是变压器弄乱了评论吗?您展示的代码以一个DOM文档对象开始,但您没有展示它是如何创建的,或者使用了什么DOM实现。据我们所知,该注释在输入DOM中已经损坏。@MichaelKay:更新了问题-这有帮助吗?@MeBigFatGuy:现在我使用的是javax.xml.transform.TransformerFactory,我还没有尝试过另一个-你建议尝试一下吗?我知道这很旧,但我也有同样的问题!同时使用TransformerFactory您使用的是什么transformer factory实现?你试过另一个吗?你有证据表明是变压器弄乱了评论吗?您展示的代码以一个DOM文档对象开始,但您没有展示它是如何创建的,或者使用了什么DOM实现。据我们所知,该注释在输入DOM中已经损坏。@MichaelKay:更新了问题-这有帮助吗?@MeBigFatGuy:现在我使用的是javax.xml.transform.TransformerFactory,我还没有尝试过另一个-你建议尝试一下吗?我知道这很旧,但我也有同样的问题!也可以使用TransformerFactory
Node streamType = document.getElementsByTagName("StreamType").item(0);  
streamType.setTextContent(mountType);   
Node nameNode = document.createElement("Name");
nameNode.appendChild(document.createTextNode("utilities"));

Node module = document.createElement("Module");
module.appendChild(nameNode);

Element modules = (Element)document.getElementsByTagName("Modules").item(0);
modules.appendChild(module);