Java XML Transformer:用长符号而不是短符号表示空元素

Java XML Transformer:用长符号而不是短符号表示空元素,java,xml,transformer,Java,Xml,Transformer,我创建了一个转换工具,用于向现有xml文件添加一些信息。 这是通过使用DOM和Transformer类实现的。 输出文件将由第三方软件处理。 这个TPS需要输入和输出文件中的长符号空标记 不幸的是,transformer类总是将它们更改为短符号。 有没有办法防止这种情况发生 我一直在搜索各种网站,但还没有找到真正适合我需要的解决方案 请帮忙, 谢谢 亲切问候,, Maarten您可以将DOM转换为StatxResult 比如说, XMLOutputFactory factory=XMLOutp

我创建了一个转换工具,用于向现有xml文件添加一些信息。 这是通过使用DOM和Transformer类实现的。 输出文件将由第三方软件处理。 这个TPS需要输入和输出文件中的长符号空标记

不幸的是,transformer类总是将它们更改为短符号。 有没有办法防止这种情况发生

我一直在搜索各种网站,但还没有找到真正适合我需要的解决方案

请帮忙, 谢谢 亲切问候,,
Maarten

您可以将
DOM
转换为
StatxResult

比如说,

 XMLOutputFactory factory=XMLOutputFactory.newFactory();
 XMLStreamWriter writer=factory.createXMLStreamWriter(System.out);
 StAXResult result=new StAXResult(writer);
 trans.transform(new DOMSource(doc),result);

有没有办法只输出长符号中的某些部分?特别是,我需要元素总是以长表示法输出,但如果数组中有一个或多个项,则标准JavaXML transformer仅以长表示法输出它们;如果它们为空,它将以简短的表示法输出它们。
                XMLOutputFactory factory = XMLOutputFactory.newFactory();
                XMLStreamWriter writer = factory.createXMLStreamWriter(System.out);
                StAXResult result = new StAXResult(writer);
                TransformerFactory transformerFactory = TransformerFactory.newInstance();
                Transformer transformer = transformerFactory.newTransformer();
                transformer.transform(new DOMSource(doc), result);