簡體   English   中英

使用Transformer縮進XML內部數據

[英]indent XML inner data with 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 formetting的代碼。

但是對於較長的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確實會修改String的內容以防止例如您更改String是在空格,制表符和換行符具有含義的文本。

如果需要使該字段對齊,則可以:

  • 手動執行此操作(假設坐標字段始終位於第五級,並添加您自己的\\ n \\ t \\ t \\ t \\ t \\ t。
  • 如果允許,請更改坐標字段的類型...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM