2012-08-29 2 views
2

this 튜토리얼을 사용하여 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 데이터에 대한

은 나를 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> 

어떻게이 일을? 이 포맷팅에서 변압기에 어떤 방법이나 다른 속성이 있습니까? 미리 감사드립니다.

답변

0

이것이 가능한지 모르겠습니다.

필드 좌표가 String이라고 가정합니다. Transformer는 문자열의 내용을 수정하여 인스턴스의 변경을 방지합니다. String은 공백, 탭 및 개행 문자가 의미있는 텍스트입니다.

이 필드 정렬이 필요한 경우

다음 중 하나를 수행 할 수 있습니다 :

  • 는 수동 (좌표 필드가 다섯 번째 수준에서 항상이고 \ n \ t \ t \ 소유 추가한다고 가정 할 t \ t \ t.
  • 변화 좌표 필드의 종류 당신이 할 수있는 경우 ... n \
+0

\ t \ t \ t ... 임시 방법이며 그것은 또한 유효하지 않습니다 그리고 나는 단지 String에서 좌표를 얻었습니다. 그래서 두 가지 방법이 적절하지 않을 것입니다. :-( –