2012-02-07 30 views
3

我使用Kxml2解析器來解析我作爲遠程頁面響應得到的xml響應。它用於用戶身份驗證,並且返回的xml提供了有關用戶的幾個詳細信息。該應用程序使用LWUIT 1.5構建,適用於MIDP和Blackberry版本。 在Android版本上它不起作用。是否有任何額外的規範,我應該添加,Android的正常工作?XML解析不適用於Android構建lwuit應用

+0

LWUIT的「額外規範」概述在這個問題的答案:http://stackoverflow.com/questions/7401567/how-to-convert-j2me-running-lwuit-to-android – gnat 2012-02-07 13:05:16

+0

謝謝@gnat,但我已經添加了額外的規格[權限]。我結束了重新啓動我的系統,它的工作。但我還沒有在真實的設備上進行測試。 – Daydah 2012-02-07 14:29:16

回答

4

LWUIT中有一個XMLParser,非常易於使用。你可以嘗試使用它。它在我的MIDP和BB應用程序中運行良好。我無法在Android中測試它,但我認爲這可能是解決方案。你如何將你的LWUIT應用程序移植到Android?

地址

好吧,我會盡量解釋使用這種分析器最好的,我可以

您需要導入這個包:

import com.sun.lwuit.xml.Element; 
import com.sun.lwuit.xml.XMLParser; 

在我的項目我解壓來自HTTPConnection的XML。

假設出來的XML如下:

<?xml version="1.0" encoding="UTF-8"?> 
    <xml> 
    <TagFromXML> 
     <child> 
     <data>HI</data> 
     </child> 
    </TagFromXML> 
    <TagFromXML> 
     <child> 
     <data>HI2</data> 
     </child> 
    </TagFromXML> 
    </xml> 

然後執行以下操作:

InputStream is = hc.openInputStream(); 
InputStreamReader isr = new InputStreamReader(is, "utf-8"); 
XMLParser myParser = new XMLParser(); 
Element e = myParser.parse(isr); 
Vector tagVector = e.getChildrenByTagName("TagFromXML"); 
for(int i = 0; i<tagVector.size();i++){ 
Element singleTag = (Element) tagVector.elementAt(i); 
Element child = (Element) (singleTag.getChildrenByTagName("child")).elementAt(0); 
Element data = (Element) (child.getChildrenByTagName("data")).elementAt(0); 
System.out.println("DATA: " + data.getChildAt(0).getText()); 
} 

你會得到

HI

HI2

我希望這可以幫你。

+0

你用它成功了嗎?哇!請舉例說明一下嗎?如果它在LWUIT本身中起作用,則表示它是抽象的,所以它應該在Android中工作。 – Daydah 2012-02-07 19:05:32

+0

這裏是你的例子 – Mun0n 2012-02-08 08:32:27

+1

感謝@jmunoz這個例子,會稍微消化一下。爲了將LWUIT移植到Android,您需要** Eclipse IDE **。我按照[這裏]的說明(http://www.ugochirico.com/post/2011/05/31/LWUIT-on-Android.aspx)和[這裏](http://www.pader-sync.com /lwuit-for-blackberry-and-android.html)。我必須閱讀並重新理解Thorsten在他的鏈接(第二個鏈接)中所說的內容]。但它最終付出了代價。它也有助於下載他們的例子和研究代碼。我在這裏,如果你需要更多的幫助:) – Daydah 2012-02-11 16:09:35