2

このチュートリアルで 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>

これを行う方法?このフォーマットからトランスフォーマーに別のプロパティを実現する方法はありますか? 前もって感謝します..

4

1 に答える 1

0

これが可能かどうかはわかりません。

あなたのフィールド座標は文字列だと思います。Transformerは、文字列の内容を変更して、たとえば文字列が変更されないようにします。文字列は、スペース、タブ、および改行に意味があるテキストです。

このフィールドを揃える必要がある場合は、次のいずれかを実行できます。

  • 手動で行います(座標フィールドが常に第5レベルにあり、独自の\ n \ t \ t \ t \ t\tを追加すると仮定します。
  • 許可されている場合は、座標フィールドのタイプを変更します。
于 2012-08-29T09:41:43.253 に答える