2011-05-06 44 views
0

在Android中從第三方解析來自Web Service的XML文件的最佳方式是什麼?如何使用XStream(對於Android Web服務)從XML檢索僅(不是全部)特定元素?

看來,使用XStream,我需要爲XML中的所有內容定義類和屬性。但我只想使用5%的XML,在XStream中是否有這樣的shorcut?

# Space.java 
public class Space { 
    String id = null; 
    String name = null; 
} 

# Parsing Code 
     XStream xs = new XStream(new XppDomDriver()); 
     xs.alias("space", Space.class); 
     Space s = (Space) xs.fromXML(myXMLData); 

# space.xml 
<space> 
    <can-join type="boolean">false</can-join> 
    <created-at type="datetime">2011-05-04T16:12:27-04:00</created-at> 
    <default-showpage>Source/SVN</default-showpage> 
    <description>Assembla Time Tracker for Android</description> 
    <id>dvpLtiDOOr4lSCeJe5cbCb</id> 
    <is-commercial type="boolean">true</is-commercial> 
    <is-manager type="boolean">true</is-manager> 
    <is-volunteer type="boolean">false</is-volunteer> 
    <name>Assemblandroid TimeTracker</name> 
    <parent-id nil="true"></parent-id> 
    <public-permissions type="integer">0</public-permissions> 
    <team-permissions type="integer">2</team-permissions> 
    <updated-at type="datetime">2011-05-04T16:12:27-04:00</updated-at> 
    <watcher-permissions type="integer">1</watcher-permissions> 
    <wiki-name>assemblandroid-timetracker</wiki-name> 
</space> 
+0

現在,我已經切換到使用Xpath,如果目標是Android 2.2或更高版本,它工作得很好。 – David 2011-05-18 05:14:10

回答

1

使用SAXParserDefaultHandler類。

+1

我看了一下SAX,但是它讓我瘋狂得寫更多的代碼而不是xml的大小。 – David 2011-05-18 05:12:10

+0

@David:我沒有發現我必須寫很多代碼。我猜如果你控制XML的格式,你可以將某些事情視爲理所當然,比如元素出現的順序,所以你不需要進行更多的條件檢查。我不知道您可能使用第三方庫有哪些授權問題,這將是我對付費應用程序的擔憂。祝一切順利。 – techiServices 2011-05-18 16:48:38

相關問題