使用KXML解析xml数据

最近做项目,服务器传过来的都是Xml格式的数据,需要解析xml,本来使用的是jsr182这个包,没问题(唯一不足的是手机顽童不支持jsr182,当碰到解析xml数据时,模拟器一闪而过!)。后来看到KXML这个第三方包,听说效率不错,于是用了,结果导入该jar包后总是出现java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserExcep
摘要由CSDN通过智能技术生成
最近做项目,服务器传过来的都是Xml格式的数据,需要解析xml,本来使用的是jsr182这个包,没问题(唯一不足的是手机顽童不支持jsr182,当碰到解析xml数据时,模拟器一闪而过!)。后来看到KXML这个第三方包,听说效率不错,于是用了,结果导入该jar包后总是出现java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException
很是郁闷!于是干脆下载了源代码,把源代码copy到工程中,运行没问题。
另外nanoXML也可以解析xml,它是一次性加载数据然后解析,当数据量大的时候估计内存吃不消。还有nanoXML的源码中怎么有j2se的类?直接导致我彻底放弃nanoXML。
下面是我用KXML做的代码,大家可以参考:

import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import org.kxml2.io.KXmlParser;
import org.xmlpull.v1.XmlPullParserException;

public class Connection implements Runnable{
	private boolean isProxy = false; //是否使用代理
	private HttpConnection conn=null;
	private String url;
	private String sendDate;
	private int connTimes = 0;
	public Connection(String url,String sendDate){
		this.url=url;
		this.sendDate=sendDate;
	}

	private void send(){
		InputStream is = null;
		try{
			if(isProxy){//使用代理
				System.out.println("启用http代理连接");
				conn = (HttpConnection) Connector.open("http://10.0.0.172/");
				conn.setRequestMethod(HttpConnection.GET);
				conn.setRequestProperty("X-Online-Host", url);
				conn.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
				//Proxy-Connection不是RFC标准,但是很多服务器都这么用了
				conn.setRequestProperty("Proxy-Connection", "Keep-Alive");
			}else{
				System.out.println("启用直连");
				conn = (HttpConnection) Connector.open("http://"+url);
				conn.setRequestMethod(HttpConnection.GET);
				conn.setRequestProperty("User-Agent", "Nokia6500s-1/2.0");
				conn.setRequestProperty("X-Up-Calling-Line-ID","13761083826");
			}
			// Connection是针对HTTP1.0的标准,HTTP1.1默认就是keep-alive的,并且该头不允许在1.1里面使用
			conn.setRequestProperty("Connection", "Keep-Alive
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值