【问题标题】:Java XML Transformer : Empty elements in long notation instead of shortJava XML Transformer:长符号而不是短符号的空元素
【发布时间】:2013-02-26 23:15:19
【问题描述】:

我创建了一个转换工具来将一些信息添加到现有的 xml 文件中。 这是通过使用 DOM 和 Transformer 类来完成的。 输出文件将由第三方软件处理。 该 TPS 需要输入和输出文件中的空标签,采用长表示法。

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

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

请帮忙, 谢谢, 亲切的问候, 马丁

【问题讨论】:

    标签: java xml transformer


    【解决方案1】:

    您可以将DOM 转换为StAXResult

    例如,

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

    【讨论】:

    • 有没有办法只输出长符号的某些部分?特别是,我需要 元素始终以长符号输出,但标准 Java xml 转换器仅在数组中有一个或多个项目时才以长符号输出它们;如果它们是空的,它会以简写形式输出它们。
    【解决方案2】:
                    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-24
      • 2015-02-07
      • 2018-12-21
      • 1970-01-01
      • 2014-06-27
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      相关资源
      最近更新 更多