18

Java で XML ファイルの標準形式を作成する最も簡単な方法は何ですか? そのためのコードはありますか?ネット上でthisthisthisなどのリンクをいくつか見つけましたが、うまくいきません :/

ありがとう、

イヴァン

編集:そこに提案されたカノニカライザーを使用しましたが、奇妙な結果が得られます。より正確にするために、このメソッドは要素間の空白を削除しません...これは私が得たものです:

<Metric xmlns="http://www.ibm.com/wsla" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="total_memory_consumption_metric" type="double" unit="Mbit" xsi:schemaLocation="http://www.ibm.com/wsla WSLA.xsd">                        <Source>ServiceProvider</Source>                        <MeasurementDirective resultType="double" xsi:type="StatusRequest">                              <RequestURI> ***unused*** </RequestURI>                        </MeasurementDirective>                  </Metric>
4

2 に答える 2

27

Apache XML セキュリティ プロジェクトCanonicalizerクラス。

ライブラリを初期化します。

org.apache.xml.security.Init.init(); 

XML を変換します。

Canonicalizer canon = Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_OMIT_COMMENTS);
byte canonXmlBytes[] = canon.canonicalize(yourXmlBytes);
String canonXmlString = new String(canonXmlBytes);
于 2011-02-25T13:20:59.927 に答える
2

XOMを使用している場合、またはその他の方法で Apache XML セキュリティを必要としない場合、別のオプションはnu.xom.canonical.Canonicalizerです。

于 2015-11-04T00:01:20.393 に答える