kxml用于解析来自网站的数据

时间:2012-01-17 12:34:51

标签: xml parsing java-me midp kxml

我目前正在尝试使用netbeans 6.9.1开发应用程序,但是当我尝试运行该程序时,我收到以下错误

Uncaught exception: java.lang.IllegalArgumentException
    at javax.microedition.io.Connector.openPrim(), bci=31
    at javax.microedition.io.Connector.open(), bci=3
    at javax.microedition.io.Connector.open(), bci=3
    at javax.microedition.io.Connector.open(), bci=2
    at RSSParser$1.run(RSSParser.java:32)

此错误来自此代码

public void parse(final String url) {
Thread t = new Thread() {
  public void run() {
    // set up the network connection
    HttpConnection hc = null;

    try {
      hc = (HttpConnection)Connector.open(url);
      parse(hc.openInputStream());
    }
    catch (IOException ioe) {
      mRSSListener.exception(ioe);
    }
    finally {
      try { if (hc != null) hc.close(); }
      catch (IOException ignored) {}
    }
  }
};
t.start();
}

此方法正在从另一个类调用

public void startApp() {
if (mDisplay == null)
  mDisplay = Display.getDisplay(this);

if (mInitialized == false) {
  // Put up the waiting screen.
  Screen waitScreen = new Form("Connecting...");
  mDisplay.setCurrent(waitScreen);
  // Create the title list.
  mTitleList = new List("Headlines", List.IMPLICIT);
  mExitCommand = new Command("Exit", Command.EXIT, 0);
  mDetailsCommand = new Command("Details", Command.SCREEN, 0);
  mTitleList.addCommand(mExitCommand);
  mTitleList.addCommand(mDetailsCommand);
  mTitleList.setCommandListener(this);
  // Start parsing.
  String url = getAppProperty("RSSMIDlet.URL");
  RSSParser parser = new RSSParser();
  parser.setRSSListener(this);
  parser.parse(url);
  mInitialized = true;
}
else
  mDisplay.setCurrent(mTitleList);
}

当我调试它时,它说“String url”为null,我该如何解决?

我还在字符串url中添加了一个url:

String url = getAppProperty("RSSMIDlet.http://wwww.anything.com");
String url = getAppProperty("http://wwww.anything.com");

但这并不重要,因为第一种方式有默认网址。

有人知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

这有帮助吗?

String url = "http://wwww.anything.com";

如果你参考文章Parsing XML in J2ME,你应该知道它是从2002年开始的,而kxml从那时起已经发展了。

如果您处于不幸的状态以使midlet运行,那么documentation可能对您感兴趣。恕我直言,您需要通过在清单文件中将属性名称​​ RSSMIDlet.URL 设置为 http://wwww.anything.com 来配置midlet。