0

AndroidでSimpleXMLライブラリを使用しようとしていますが、エラーが発生します(http://pastebin.com/7Nrk1esD)。主なエラーは次のとおりです。

"org.eclipse.persistence.indirection.IndirectList in loader dalvik.system.PathClassLoader..."

デシリアライズする必要のあるモデルは、必要なXMLを生成するためにRESTサーバーによっても使用されます。次のようなJPAアノテーションもいくつかあります。

@OneToMany
@ElementList(required = false)
private List<Substance> substances = new ArrayList<>();

この行は、次のxml出力を生成します。

<substances class="org.eclipse.persistence.indirection.IndirectList">
...
</substances>

ここで、エラーの原因がわかります-Androidはorg.eclipse.persistenceを認識していません!しかし、私の質問は今です:行class = "... IndirectList"が生成されるのはなぜですか?Androidアプリケーションのエラーを回避するためにそれを変更するにはどうすればよいですか?

PS:私は単純な2.6.2を使用しています

前もって感謝します!

4

2 に答える 2

1

ここで答えを見つけました:

Strategy strategy = new TreeStrategy("clazz", "len");
Serializer serializer = new Persister(strategy);

しかし、私はこのスニペットを Android クライアントでのみ使用して、サーバーでモデルをシリアル化するのではなく、逆シリアル化します。

于 2012-04-07T21:09:26.860 に答える
0

これを試して

@OneToMany
@Path("substances")
@ElementList(required = false, inline=false)
private List<Substance> substances = new ArrayList<>();

これはうまくいくはずです。

于 2012-11-10T14:09:57.857 に答える