首页 > 解决方案 > 如何防止自闭在 XML 中?

问题描述

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();

标签: javaxmlintellij-idea

解决方案


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


推荐阅读