XML解析不适用于lwuit应用程序的android构建
Posted
技术标签:
【中文标题】XML解析不适用于lwuit应用程序的android构建【英文标题】:XML parsing not working on android build of lwuit app 【发布时间】:2012-02-07 11:50:26 【问题描述】:我使用 Kxml2 解析器来解析我从远程页面获得的 xml 响应。它用于用户身份验证,返回的 xml 提供了有关用户的一些详细信息。该应用程序使用 LWUIT 1.5 构建,适用于 MIDP 和 Blackberry 版本。 在 android 版本上它不起作用。为了让 Android 正常工作,我应该添加任何额外的规范吗?
【问题讨论】:
LWUIT 的“额外规范”在此问题的答案中进行了概述:***.com/questions/7401567/… 感谢@gnat,但我已经添加了额外的规范 [权限]。我最终重新启动了我的系统并且它工作了。但我还没有在真实设备上进行测试。 【参考方案1】:LWUIT中有一个XMLParser,非常好用。你可以尝试使用它。它在我的 MIDP 和 BB 应用程序中运行良好。我无法在 Android 中对其进行测试,但我认为这可能是解决方案。如何将 LWUIT 应用移植到 Android?
添加
好吧,我会尽力解释这个 Parser 的用法
你需要导入这个包:
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());
你会得到
嗨
HI2
我希望这对你有用。
【讨论】:
你使用成功了吗?哇!你能举个例子吗?如果它在 LWUIT 本身中工作,则意味着它是抽象的,所以它应该在 Android 中工作。 感谢@jmunoz 的示例,稍后会消化。要将 LWUIT 移植到 Android,您将需要 Eclipse IDE。我遵循了here 和here 的说明。我必须反复阅读才能真正理解 Thorsten 在他的链接(第二个链接)中所说的内容。但它最终得到了回报。它还有助于下载他们的示例和研究代码。如果您需要更多帮助,我在这里 :)以上是关于XML解析不适用于lwuit应用程序的android构建的主要内容,如果未能解决你的问题,请参考以下文章
主题不适用于 Android 上的 DialogFragment
Spring Rest Service 不适用于 XML 响应