1

数学リーグのデータを、両方ともJavaで記述された2つの異なるシステム間で移動する必要があります。データは、MySQLデータベースに裏打ちされたJava Webアプリケーションから取得されます。このデータベースには、学校と生徒のテーブルがあり、どちらも一意のID番号を持っています。データは、2月のトーナメントイベントの日にスコアを記録するために使用されるデスクトップクライアントでオフラインで読み取ることができる形式にエクスポートする必要があります。

クライアントは現在、データをCSVファイルとして保存します。これには、「データベース」全体をExcelにロードして、すべてのチームのすべての学生のスコアを表示できるという優れた利点があります。昨年、この形式はデータが破損したために問題がありました(スコアカードに間違ったチーム番号を入力した後、データ入力チームがシステムに不正なデータを入力したため、データ入力に冗長性がありました)

より構造化された方法でデータを保存するようにクライアントを更新し、CSVファイルをエクスポート専用の機能として残したいと思います。私はXMLシリアル化に最も精通しているので、XMLシリアル化を選択します。しかし、JSONまたはYAMLの利点について知りたいです。同時に、デスクトップクライアントが読み取れる形式にデータを移動できるようにするエクスポート機能をWebアプリケーションに追加する必要があります。Webアプリケーションのユーザー(数学チームのコーチ)は、トーナメントに参加する学生を選択し、クライアントが読み取れるファイルをダウンロードします。データ構造は次のようになります。

team id
school name
student1
student2
student3
student4
student5

各学生オブジェクトは、ID番号、名前、およびスコアのいくつかのフィールドで構成されています。

ここではストレートXMLが最も理にかなっていますか、それとも他の何かが簡単ですか?

4

2 に答える 2

2

XMLに対して私が見た主な反対意見は、XMLが非常に冗長になる可能性があることです。検証可能な構造が重要な環境では、比較的少量のデータを処理しているようです。そのためにXMLを使用すると思います。

于 2012-11-05T23:05:48.097 に答える
2

パトリシアは正しいです(そしてあなたは彼女の答えを受け入れるべきです)。XMLは、あなたがやろうとしていることに最適なフォーマットです。

人々は他の人を選びます:

  • JSON-クライアントのJavascriptと帯域幅/遅延速度のためのWebアプリケーション用。
  • YAML-人間が読める形式の構成用。

現在、JavaでXMLを生成する最良の方法は、ほとんどの場合JAXBです。

または、結果セットをクエリしてXMLやその他のさまざまな形式に変換できるjOOQも確認する必要があります。

于 2012-11-06T00:07:54.620 に答える