java - 如何防止自闭在 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();
解决方案
这些形式在语义上是等价的。没有符合标准的 XML 解析器会关心,您也不应该关心。
推荐阅读
- eclipse - 带有百分比的日食建议
- r - R中的在线问卷调查,可以在用户之间传达答案
- html - 在 HTML/CSS 中对齐三个对象
- javascript - 有没有办法可以将一些文本复制到剪贴板,以便它整齐地粘贴到电子表格行中?
- laravel - laravel 自定义登录错误验证
- ruby-on-rails - Ruby on Rails:如何为帖子制作下一页/上一页按钮?
- python - 如何在 Python 中展平包含日期的列表列表
- c# - 消除 LET 运算符和 SqlFunctions
- python - TensorFlow 1.8.0,急切执行和比较的行为不如预期
- javascript - 您如何使 Google Cloud Functions 仅在从某些 URL ping 时才有效?