3

Androidのsimplexmlフレームワークで奇妙な問題が発生しました。xmlソースからweatherdataというオブジェクトを読み取って入力しようとしています。

XMLファイル(これを制御することはできません):

<weatherdata>
    <product class="pointData">
        ....
    </product>
</weatherdata>

したがって、私のJavaファイルは次のようになります。

@Root(name = "weatherdata", strict=false)
public class Weatherdata {

    @Element(name="product", required = true)
    protected ProductType product;

しかし、私は非常に奇妙なエラーを受け取ります:

01-14 14:22:28.919: W/System.err(18011): java.lang.ClassNotFoundException: pointData in loader dalvik.system.PathClassLoader

@Elementフィールドでclass=ProductType.classを実行しようとしても、気になりません。コンストラクターを使用してプロジェクトでpointDataクラスを作成しても、エラーは変わりません。単純なxmlフレームワーク2.6.2で予約されたキーワードが混乱しているため、「クラス」のように見えます。

xmlを変更できません。どうすればそれを解決できるでしょうか?よろしくお願いします。

4

1 に答える 1

7

TreeStrategyを使用して、「クラス」を他のものに置き換えてみてください。

Strategy strategy = new TreeStrategy("clazz", "len"); // clazz substitute for class,
                                                      // and len for array lengths
Serializer serializer = new Persister(strategy);
于 2012-01-24T14:22:43.963 に答える