13,097
社区成员




import java.io.IOException;
import java.io.InputStream;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import org.kxml2.io.KXmlParser;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class MyMidlet extends MIDlet {
private void parseUsingKXML(InputStream is) throws XmlPullParserException {
try {
KXmlParser parser = new KXmlParser();// 实例化
parser.setInput(is, "utf-8");
parsekXMLItems(parser);
} catch (IOException e) {
e.printStackTrace();
}
}
private void parsekXMLItems(KXmlParser parser) throws IOException,
XmlPullParserException {
// 接收事件类型
int eventType = parser.getEventType();
// 当事件类型不为文档末尾时
while (eventType != XmlPullParser.END_DOCUMENT) { // true
// System.out.println("parsekXMLItems");
switch (eventType) {// 判断事件类型
case XmlPullParser.START_TAG:// 为开始标记时
System.out.print("<" + parser.getName());// 输出开始标记
// 当有属性时,输出属性
if (parser.getAttributeCount() >= 1)
for (int i = 0; i < parser.getAttributeCount(); i++) {
// 输出属性名称
System.out
.print(" " + parser.getAttributeName(i) + "=");
// 输出属性值
System.out.print("\"" + parser.getAttributeValue(i)
+ "\"");
}
System.out.print(">");
break;
case XmlPullParser.END_TAG:// 为结束标记时
System.out.print("</" + parser.getName() + ">");
break;
case XmlPullParser.TEXT:// 为文档正文时
// if (!parser.getText().trim().equals("")) {
System.out.print(parser.getText());
// }
break;
case XmlPullParser.END_DOCUMENT:
return;
}
eventType = parser.next();
}
System.out.println();
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO 自动生成方法存根
}
protected void pauseApp() {
// TODO 自动生成方法存根
}
protected void startApp() throws MIDletStateChangeException {
try {
InputStream is = getClass().getResourceAsStream("/test.xml");
parseUsingKXML(is);
} catch (XmlPullParserException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}