我将在本教程中编写一个XML文件。我申请了
transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "4");
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
xml格式设置的代码。
但对于长xml数据,它向我展示了类似khis:的xml
<kml>
<Placemark>
<name>yong</name>
<Polygon>
<timezone>EASTERN</timezone>
<outerBoundaryIs>
<LinearRing>
<coordinates>-77.05788457660967,38.87253259892824,100
-77.05465973756702,38.87291016281703,100
-77.05315536854791,38.87053267794386,100
-77.05552622493516,38.868757801256,100
-77.05844056290393,38.86996206506943,100
-77.05788457660967,38.87253259892824,100</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</kml>
但我想用以下方式格式化:
<kml>
<Placemark>
<name>yong</name>
<Polygon>
<timezone>EASTERN</timezone>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-77.05788457660967,38.87253259892824,100
-77.05465973756702,38.87291016281703,100
-77.05315536854791,38.87053267794386,100
-77.05552622493516,38.868757801256,100
-77.05844056290393,38.86996206506943,100
-77.05788457660967,38.87253259892824,100
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</kml>
如何做到这一点?是否有任何方法或变压器中的其他属性可以通过这种格式实现?提前谢谢。。
我不知道这是否可能。
我想你的字段坐标是字符串。Transformer确实修改了字符串的内容,以防止例如字符串中的更改。字符串是一个空格、制表符和换行符都有意义的文本。
如果您需要将此字段对齐,您可以:
- 手动执行(假设坐标字段始终位于第五级,并添加您自己的\n\t\t\t\t\t
- 如果允许,请更改坐标字段的类型