【问题标题】:How to prevent self-closing <tags/> in XML?如何防止 XML 中的自关闭 <tags/>?
【发布时间】:2019-07-29 14:11:05
【问题描述】:

我使用Transformer 类和转换方法修改XML 文件。它正确地修改了我的参数,但改变了 XML 样式(以不同的方式编写 XML 属性):

原文:

<a struct="b"></a>
<c></c>

修改后:

<a struct="b"/>
<c/>

我知道我可以设置属性:transformer.setOutputProperty(OutputKeys.KEY,value),,但我没有找到合适的设置。

谁能帮助转换器不要改变写入格式?

XMLReader xr = new XMLFilterImpl(XMLReaderFactory.createXMLReader()
Source src = new SAXSource(xr, new InputSource(new 
StringReader(xmlArray[i])));
<<modify xml>>
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();          
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"yes");
           StringWriter buffer = new StringWriter();
            transformer.transform(src, new StreamResult(buffer));
            xmlArray[i] = buffer.toString();

【问题讨论】:

    标签: java xml intellij-idea


    【解决方案1】:

    这些形式在语义上是等价的。没有符合标准的 XML 解析器会关心,您也不应该关心。

    【讨论】:

    • 也许是真的,但我不想修改这个。
    • “也许”是真的?
    • @DarrenForsythe:这当然是完全正确的,不管任何人的好恶。
    猜你喜欢
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2015-07-07
    • 2012-07-03
    • 1970-01-01
    相关资源
    最近更新 更多