[解決済み】Javaで2つのXMLドキュメントを比較する最適な方法
2022-04-11 10:45:10
質問
私は基本的にカスタムメッセージフォーマットをXMLメッセージに変換し、もう一方の端にそれを送信するアプリケーションの自動テストを書こうとしています。 私は入力/出力メッセージのペアの良いセットを持っているので、私がする必要があるのは、入力メッセージを送り、もう一方の端から出てくるXMLメッセージを聞くことだけです。
いざ、実際の出力と期待される出力を比較しようとすると、いくつかの問題にぶつかる。 最初に考えたのは、期待されるメッセージと実際のメッセージの文字列比較を行うことだけでした。 なぜなら、私たちが持っているサンプルデータは常に一貫してフォーマットされているわけではなく、XMLの名前空間にはしばしば異なるエイリアスが使用されているからです(名前空間が全く使用されていない場合もあります)。
しかし、もっと良い方法や活用できるライブラリーがあるような気がしています。
つまり、煮詰めていくと、問題は
有効なXMLを含む2つのJava文字列がある場合、それらが意味的に等価であるかどうかをどのように判断しますか? もし、何が違うのかを判断する方法があれば、ボーナスポイントを差し上げます。
解決方法は?
XMLUnitのための仕事のようだ
例
public class SomeTest extends XMLTestCase {
@Test
public void test() {
String xml1 = ...
String xml2 = ...
XMLUnit.setIgnoreWhitespace(true); // ignore whitespace differences
// can also compare xml Documents, InputSources, Readers, Diffs
assertXMLEqual(xml1, xml2); // assertXMLEquals comes from XMLTestCase
}
}
関連
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] javaで部分クラスを実装する方法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] Eclipse- Dynamic Web Module 3.0 で新しいプロジェクトを作成するときに Java 1.6 以降が必要なエラーが発生する。
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] JDBC タイプの方言マッピングがありません。1111
-
[解決済み] アニメーションGIFの表示
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] Javaでdoubleをfloatに変換する