-1

以下のような Java 文字列があり、複数の行と空白が含まれています。これらが1行になるように、それらをすべて削除する必要があります。

これらは xml タグであり、エディターはより小さい記号を含めることを許可していません

<paymentAction>  

           Authorization

</paymentAction>

なるはず

<paymentAction>AUTHORIZATION</paymentAction>

前もって感謝します

4

3 に答える 3

1

基本的に、持っている XML をCanonical Formに変換する必要があります。以下はそれを行う1つの方法ですが、そのライブラリを使用する必要があります。外部ライブラリに依存したくない場合は、XSLT を使用することもできます。

Apache XML Security プロジェクトのCanonicalizerクラス:

注: 非 xml 対応の API (String.replaceAll()) を処理することは、特殊なケースや例外的なケースを処理することになるため、一般的にはお勧めしません。

于 2012-08-09T18:19:05.607 に答える
1

を呼び出すtheString.replaceAll("\\s+","")と、すべての空白シーケンスが空の文字列に置き換えられます。タグ間のテキストにもスペースが含まれていないことを確認してください。そうしないと、スペースも削除されます。

于 2012-08-09T18:16:25.177 に答える
0

これが始まりです。おそらく十分ではありませんが、正しい方向に進んでいるはずです。

xml.replaceAll(">\\s*", ">").replaceAll("\\s*<, "<");

ただし、Pangea が提案したように、XML からドキュメントを作成し、それを正規の形式でシリアル化する方法が必要であると言いたくなりました。

于 2012-08-09T18:23:04.387 に答える