Java を使用していて、クラスを生成したい場合は、XMLbeansを使用することを強くお勧めします。次のようないくつかの優れたユーティリティが付属しています。
inst2xsd : xml を指定すると、xsd が生成されます
例
inst2xsd -enumerations never message.xml
(xsd ファイルを生成し、同じタイプの列挙を無効にします)
scomp : スキーマをjarファイルにコンパイルします。つまり、スキーマの名前空間に基づいた (またはnoNamespace.somethingで始まる)クラス (または複数のクラス) を含む、非常に優れた再利用可能なライブラリが生成されます。 XML で any を定義する
例
scomp -jar yourschema mySchema.xsd
(これにより、必要なjarであるxmltypes.jarが作成されます。名前を巧妙なものに変更し、値の取得と設定、読み取りと書き込みの双方向解析に使用します)
最後に、Java IDE を起動し、 scompによって作成されたスキーマ用のすべての xmlbeans JARS および JAR を追加します。
その後、xmldata をプロジェクト内の Java オブジェクトとしてロード、作成、保存、操作できます;-)
に基づく小さな XML スニペットの要素です。大まかに次のようなコードでアクセスします。
MyModel myModel = null;
try {
//full path to XML file
File modelXML = new File("Model.xml");
// Bind the incoming XML to an XMLBeans type.
myModel = MyModel.Factory.parse(modelXML);
}
catch (XmlException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
catch (FileNotFoundException e) { e.printStackTrace(); }
// Using the <structure> element.
Structure structure = myModel.getStructure();
Member member = structure.getMember();
String target = member.getTarget(); // "PositiveIntegerListDefinition"
注: また、 listなどの予約済みの Java キーワードではない要素名を使用することをお勧めします。XMLBeans がそれをどのように処理するかは正確にはわかりませんが、オーバーロードするのではなく、名前を少し変更することになると思います。
これは便利な完全なチュートリアルです:
http://xmlbeans.apache.org/documentation/tutorial_getstarted.html
単純な直接 XML 呼び出しまたは REST ベースの Web サービスを使用していると仮定しましたが、SOAP のようなより詳細なものを使用する場合は、SOAP XML メッセージまたは WSDL から Java クラスを簡単に生成できるApache CXFおよびApache Axis2もあります。