2012-01-14 12 views
3

我在android上遇到了一個奇怪的問題,使用simplexml框架。我試圖從XML源讀取和填充名爲weatherdata的對象。Android上的簡單XML框架,類屬性

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,它並不關心。即使當我用構造函數在我的projet中創建pointData類時,錯誤也不會改變。它看起來像一個簡單的XML框架2.6.2保留關鍵字混亂「類」。

我無法更改xml。任何想法我怎麼能解決這個問題?謝謝。

+0

是否有一種方法可以保存XML元素上的所有屬性,然後自行解析。你必須閱讀SimpleXML,下次鏈接它,所以我們可以;-) – Blundell 2012-01-14 13:43:15

+0

哦,我認爲沒有必要鏈接它,因爲它是衆所周知的。無論如何,這是:http://simple.sourceforge.net/。我已經深入研究它,並將jaxb生成的類轉換爲簡單的xml。它就像一個魅力,我喜歡simpleXml。這是我第一次被封鎖。 – Gomoku7 2012-01-24 17:35:02

回答

7

嘗試使用TreeStrategy替換「其他」類。

Strategy strategy = new TreeStrategy("clazz", "len"); // clazz substitute for class, 
                 // and len for array lengths 
Serializer serializer = new Persister(strategy); 
+0

嘿,看起來很有趣。 Thnaks! – Gomoku7 2012-01-24 17:37:24

+0

工作就像一個魅力! – Gomoku7 2012-01-25 18:05:14