Java の JAX-B のようなマーシャリングとアンマーシャリングをサポートするライブラリを探しています。使用できる最先端のライブラリはありますか?
3 に答える
ブルーノが言ったように、探しているのはSystem.Xml.Serialization名前空間、より具体的にはXmlSerializerクラスです。オブジェクトを XML にシリアル化するには、 Serializeメソッドを呼び出すだけで済みます。Deserializeメソッドを使用すると、その逆を行うことができます。詳細については、MSDN のトピック「 XML シリアル化の紹介 」を参照してください。
XML にシリアル化するときに問題が発生することがあります。問題が発生した場合は、必ずこのスレッドを確認 (および投稿) してください。
System.Xml.Serialization
名前空間が必要です。Java アノテーションなどの属性を操作できます。
JAXBほどではありませんが、似たようなものがあります。同様のことは、Allon Guralnek と bruno conde によって述べられています。違いはデシリアライズにあります。XmlSerializer では、型を指定する必要があります。型は、XSD.EXE ツールによって処理される XSD ファイル (XML スキーマ) から取得できます。このツールは、XML スキーマで定義された型ごとに部分クラスを含む cs ファイルを作成します。使いやすいです。
ただし、有効な xml の型がない場合、XmlSerilaizer でデシリアライザーを使用することはできません。シナリオは次のようになります。メッセージ キューから xml 形式のメッセージを受け取ります。XML スキーマで定義された任意のタイプを受け取ることができます。JAXB を使用すると、xml をオブジェクトにデシリアライズし、getClass プロパティを使用してそれがどのタイプであるかを判断します。C#でこれを行う同様の方法は見つかりませんでした。