タグ

JAXBに関するhatehate331000のブックマーク (16)

  • JAXBでJavaクラスからXML schema生成 - torutkのブログ

    Java SE 標準APIのJAXBを使うと、Javaのインスタンスの内容をXML形式で出力したり、逆にXMLファイルからJavaのインスタンスを生成することができます。 JAXBは最初、XML Schema定義からJavaクラスを生成し、そのクラスを利用して実行時にJavaインスタンスとXML文書のマッピングをする機能が提供されました。その後のバージョンで、Javaクラス定義*1からJavaインスタンスとXML文書のマッピングをする機能が提供されました。そのためもあってか、解説記事は大半がXML Schema定義からJavaクラスを生成するものとなっています。 今回、Javaクラス定義からXML文書とマッピングするために必要な流れを、一歩一歩試しながら理解したいと思います。 なお、Javaクラス定義からXML文書とマッピングさせる場合、XML Schemaを生成する必要はありませんが、生

    JAXBでJavaクラスからXML schema生成 - torutkのブログ
  • JAXB使い方メモ - Qiita

    JAXB(Java Architecture for XML Binding)の使い方メモ。 JAXB とは、 XML と Java オブジェクトを相互変換するための API 仕様のこと。 Java SE6 からは標準ライブラリに組み込まれているので、特に jar を追加することなく使える。 Java 11 より、 JAXB は標準ライブラリから削除されました(Java EE には引き続き含まれています)。 Java SE 11 以降の環境で JAXB を使う JAXB はもともと Java EE の一部だった。 一時は SE に入れられたが、 Java 11 で EE 系のクラスが SE から削除されたときに、一緒に SE から削除された。 SE 11 以降の環境で JAXB を使用したい場合は、ライブラリとして追加する必要がある。 2019 年現在の、JAXB の参照実装は たぶんこれ

    JAXB使い方メモ - Qiita
  • XML JAXB - @//メモ

    インストール † Java Web Services Developer Packの取得 http://java.sun.com/xml/download.html から、jwsdp-1_5-windows-i586.exe をダウンロードしてきてインストールします。 JAXB以外もXML関係のライブラリがインストールされます。 デフォルトでは、C:\Sun\jwsdp-1.5 にインストールされるはずです。 Eclipseからのクラスパスの設定 サンプルを見ると、 C:\Sun\jwsdp-1.5\jaxb\lib\*.lib C:\Sun\jwsdp-1.5\jaxp\lib\*.lib C:\Sun\jwsdp-1.5\jaxp\lib\endorsed\*.lib C:\Sun\jwsdp-1.5\jwsdp-shared\lib\*.lib が必要なようです。それらを外部JARと

  • JAXB (Java XML Binding) - Sunflat のブログ

    最近、JavaでXMLを取り扱うことがあったのだが、DOMやSAXとかを使って解析するのは結構面倒くさい。 Java 6からは、XML SchemaからJavaクラスを生成してくれるJAXBというライブラリが標準添付されていて、とっても便利。(Relax NGやDTDにも対応してるらしい) 正しい構造のXMLを生成していることを静的にチェックできるし、Eclipseを使っていればどのような子Elementがあるか補完で分かるし、検証や名前空間の扱いとかも楽々。 クラスの生成は、JDK6を入れて以下のコマンドを実行すればOK! xjc -p 出力先パッケージ名 -d 出力先ディレクトリ XMLスキーマファイル.xsd あとは、Unmarshallerを使ってXML文書の解析が行える。 JAXBContext context=JAXBContext.newInstance("↑で生成したパッケ

    JAXB (Java XML Binding) - Sunflat のブログ
  • Java6新機能のお勉強(9) - SEの行き着くところ…

    JDBCドライバの自動ロードJDBC4.0で、ドライバの自動ロード機能が追加された。今までのロード方法。(H2Databaseを使った例) Class.forName("org.h2.Driver"); Connection conn = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test", "sa", ""); Class#forNameを呼び出す事でJDBCドライバクラスをロードし、DriverManagerに登録を行っていた。Java6ではこの処理が必要なくなる。 Connection conn = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test", "sa", ""); これもおなじみサービスプロバイダ機構を使っている。JDBCドライバのJA

  • @IT:連載 役に立つXMLツール集(2) JAXBでデータバインディングに挑戦しよう

    XMLプログラミングでは、DOMやSAXといったAPIを使用すると単調なコードを繰り返し書くことになり生産性が上がらないものだ。連載では開発者が“楽をする”ために役立つXML関連ツールを紹介していく。(編集局) 前回「XMLをJavaにマップするデータバインディング」では、データバインディングがどのようなものかといった概要を説明しました。今回からは実際にデータバインディングツールを使い、どのようにしてXMLモデルからオブジェクトモデルへのマッピングを行うのかを見ていきましょう。 最初に取り上げるのはJAXB(The Java Architecture for XML Binding)です。JAXBはJavaの世界でいわゆる“標準”となるべく開発されているデータバインディングで、JavaのさまざまなAPI同様、仕様がJCP(Java Community Process)で決められ、参照実装

  • デベロッパーズコーナー:Javaプログラミングを極める「JAXB」-(1) - XML Square

    今回は「JAXB(Java Architecture for XML Binding)」を取り上げます。JAXB はXML Schema によるスキーマ定義をJava のクラスにマッピングすることによってアプリケーションの開発効率を向上させるためのツールやAPIをまとめたアーキテクチャです。 アプリケーションでXML文書を扱う際には、DOMやSAXなどのAPIを利用することが多いことと思います。これらのインタフェースは、XML文書を自由自在に操作することができる汎用性の高い機能を持っています。しかしながら、うなコードを何度も記述しなければならないという煩わしさがあり、結果としてバグが混入しやすくなってしまうといえるでしょう。 たとえば、プログラム中で要素名のスペルを間違えて記述していてもコンパイルできてしまい、実行してみて初めてミスに気づくこともあるかもしれません。さらに、DOMを使ってX

  • 「Java SE 6完全攻略」第74回 JAXB その2

    先週は,JAXBを用いてXMLのスキーマからJavaのクラス生成ができることを紹介しました。そして,生成したクラスを使用してXMLドキュメントからJavaのオブジェクトを生成させました。 XMLのスキーマとJavaのクラスを対応させることをバインディング,XMLドキュメントからJavaのオブジェクトを生成させることをアンマーシャリングということも紹介しました。 今週はアンマーシャリングの逆,マーシャリングを行ってみます。つまり,JavaオブジェクトからXMLドキュメントを生成します。 先週使用した,複数の名前を表すスキーマを今週も使用しましょう。XML Schemaで表したスキーマを次に示します。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" targetNamespace=

    「Java SE 6完全攻略」第74回 JAXB その2
  • JAXB データ バインディングの使用

    JAXB データ バインディングの使用 以下の節では、JAXB データ バインディングの使用について説明します。 JAXB を使用したデータ バインディングの概要 さまざまなシステム間でのデータ交換には XML が標準的に使用されているため、Web サービス アプリケーションには、Java アプリケーションから直接 XML 形式データへアクセスする手段が必要となります。具体的には、XML コンテンツを Java アプリケーションで読み取れる形式に変換する必要があります。「データ バインディング」では、XML 表現と Java 表現間のデータ変換を記述します。 JAX-WS では Java Architecture for XML Binding (JAXB) を使用してあらゆるデータ バインディング タスクを管理します。具体的には、JAXB により Java メソッド シグネチャと WSD

  • JAXBをXML Schemaなしで使ってみる - CLOVER🍀

    最近、仕事でXMLとかJSONをデータの入出力形式とする開発をすることになったのですが、ここでどのライブラリとか使おうかなぁといろいろ思考中。 JSONはJSONICでいこうと思っているのですが(Seasar2系使ってるし…)、XMLはどうしようかなと…。XStreamという手もあるのですが、XStreamには名前空間のサポートが無い(今回、これはマズいのです…)ので除外。 そこで、JAXBにちょっと注目しています。 世間の情報を見ていると、XML SchemaをコンパイルしてJavaコードを生成〜みたいな内容が多いですが、XML Schemaはなくても使えるので、標準で使える簡単なオブジェクト-XMLマッピングライブラリとして覚えておくのも有りだなぁと思うのです。特に、XML Schemaでの検証なんていいから、とりあえず簡単に使いたいなんて時には。 では、ちょっと使ってみましょう。 サ

    JAXBをXML Schemaなしで使ってみる - CLOVER🍀
  • 「Java SE 6完全攻略」第77回 JAXB その5

    先週に引きつづき,今週もJAXBで使われるアノテーションを紹介していきます。今週は列挙型を修飾するアノテーションと,フィールド/プロパティを修飾するアノテーションです。 その後,実際にJavaのクラスからスキーマを生成させる方法を紹介します。 列挙型を修飾するアノテーション 列挙型は特殊なクラスなので,クラスを修飾するアノテーションはすべて使用することができます。それ以外に@XmlEnumと@XmlEnumValueが使用できます。

    「Java SE 6完全攻略」第77回 JAXB その5
  • 「Java SE 6完全攻略」第73回 JAXB その1

    今月から再びJava SE 6完全攻略に戻りましょう。 4月にはJava SE 6におけるXMLに関する新機能ということで,StAXを紹介しました。今月もXMLに関する新機能であるJava Architecture for XML Binding,通称JAXBを紹介します。 JAXBはJava SE 6より一足早く,Java EE 5で採用されていたので,ご存じの方も多いはずです。 JAXBを説明する前に,XMLを用いてデータ交換を行なう場合について考えてみましょう。 通常,JavaのアプリケーションでXMLドキュメントを扱う場合,XMLドキュメントをパースし,パースした内容をアプリケーションで扱いやすいオブジェクトに変換します。 たとえば,次のような名前を表すXMLがあったとします。

    「Java SE 6完全攻略」第73回 JAXB その1
  • JAXBの簡単な解説(1)

    JavaとXML間のバインディングを行うJAXB JavaオブジェクトからXMLへ変換したい、またはXMLからJavaオブジェクトへ変換したい、ということはよくあるものです。 方法はいくつか考えられますが、JavaSE6 にある標準技術 JAXB (Java Architecture for XML Binding) では、この変換を手軽に実装できるようになっています。その使い方を解説しようと思います。 JAXBの考え方 まずはJAXBの考え方を俯瞰しておきます。 図のように、JavaクラスとXML Schemaとが対応するものと考えます。言われてみればもっともな話で、実体としてJavaオブジェクト・XML文書があり、その雛形としてJavaクラス・XML Schemaがあるということですね。 ここから分かる通り、JAXBの出発点はJavaクラスかXML Schemaになります。どちらから始

  • JAXBの簡単な解説(2)

    前回はまず使ってみるということで、単純なJavaオブジェクトからXMLへ変換する方法を解説しました。 今回は、XMLからJavaオブジェクトへ変換する方法と、また一歩進んでバインディングを制御するアノテーションについて解説します。 XMLからJavaオブジェクトへの変換 データ構造としては前回と同じものを使いましょう。 会社(従業員*) 従業員(名前,給料) これらを表すJavaクラスも前回と基は同じなのですが、オブジェクトの中身を見たいのでtoString()を追加しています。 Campanyクラス public class Company { private List<Employee> employees; public List<Employee> getEmployees() { return employees; } public void setEmployees(List

  • XMLDBとJavaAPI、JAXB2.0を活用したWebアプリケーション開発(APIチュートリアル編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    XMLDBとJavaAPI、JAXB2.0を活用したWebアプリケーション開発(APIチュートリアル編)
  • 「Java SE 6完全攻略」第69回 第三のパーサ - StAX その1

    今月から,XMLとWebサービスに関するJava SE 6の新機能を紹介していきます。 今まで,WebサービスJava EEだけで扱われていました。Java EEではWebサービスを提供する側の機能が中心になっています。しかし,提供するだけでなく,Webサービスを使う側の機能も重要です。 Java SE 6では,この使う側,つまりWebサービスのクライアント機能が取りいれられました。また,それに応じて,XMLを扱う機能も強化されています。 そこで,連載ではWebサービスの基幹となる,XMLを扱う機能から紹介していくことにしましょう。 DOM,SAX,そしてStAX Java SE 6では,新しいXMLパーサが仲間入りすることになりました。その名はStreaming API for XML,通称StAXです。 StAXはJCPのJSR 173で標準策定が行なわれました。Java SEに取

    「Java SE 6完全攻略」第69回 第三のパーサ - StAX その1
  • 1