Сделать отступ для внутренних данных XML с помощью Transformer
Я пишу файл 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 это показывает мне XML как KHIS:
<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>
Как это сделать? Есть ли какой-либо способ или другое свойство в преобразователе из этого форматирования может быть достигнуто? Заранее спасибо..
1 ответ
Я не знаю, возможно ли это.
Я полагаю, что ваша полевая координата является строкой. Transformer действительно изменяет содержимое строки, чтобы предотвратить, например, изменения в вас. Строка - это текст, в котором значения пробелов, табуляции и перевода строки имеют смысл.
Если вам нужно выровнять это поле, вы можете:
- сделать это вручную (при условии, что поля координат всегда находятся на пятом уровне и добавить свой собственный \ n \ t \ t \ t \ t \ t.
- изменить тип поля координат, если вам разрешено...