2

オブジェクトに変換する必要があるXMLがあります。その逆も同様です。Xstreamのようなものがあります。これまで、Xstreamを使用してobject/xmlをマーシャリングおよびアンマーシャリングしていました。ただし、問題は、xstreamのXMLに対応するオブジェクトが、すべてのタグを属性として持つ必要があることです。それ以外の場合、XMLにオブジェクトに存在しない追加のタグが含まれている場合。それは爆撃します。

または、操作が希望どおりに行われるように、カスタムコンバーターを作成する必要があります。また、一般的なダイジェスターを使用すると、XMLからオブジェクトへのXpath解析が可能になることも提案されました。

私は最善のアプローチは何であるか疑問に思っています。に限って:

  1. XMLをオブジェクトに、またはその逆に変換したいだけです。
  2. マップがマッピングオブジェクトに存在しないXMLのフィールドをサイレントに無視する機能があります。

何を指示してるんですか?

4

3 に答える 3

2

あなたはこの質問を見てみたいかもしれません...

オープンソースAPIを使用してJavaオブジェクトをxmlに変換する最良の方法は何ですか

これらはそれがリストしているライブラリのいくつかです...

于 2009-10-15T04:23:08.843 に答える
2

ここに記載されているように、カスタム MapperWrapper を使用する必要がありますhttp://pvoss.wordpress.com/2009/01/08/xstream/

XStream xstream = new XStream() {
  @Override
  protected MapperWrapper wrapMapper(MapperWrapper next) {
    return new MapperWrapper(next) {
      @Override
      public boolean shouldSerializeMember(Class definedIn,
              String fieldName) {
        if (definedIn == Object.class) {
          return false;
        }
        return super.shouldSerializeMember(definedIn, fieldName);
      }
    };
  }
};

これが行う唯一のことは、XStream に、処理することがわかっていないすべてのフィールドを無視するように指示することです。

于 2010-02-23T23:55:01.057 に答える
0

http://simple.sourceforge.net/を使用することをお勧めします。注釈を使用して属性と要素をマップし、Java オブジェクトに存在しないすべての属性と要素を無視して XML ドキュメントから読み取ることができる「非厳密」モードを備えています。 .

于 2010-01-20T14:14:33.257 に答える