Xml的pull解析
2018-01-04 17:31
127 查看
package com.example.administrator.xmlpullparse;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.util.Xml;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.aokhttp.Response;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.IOException;
import java.io.StringReader;
public class MainActivity extends AppCompatActivity {
private static final String urlPath="http://192.168.0.110:8080/qw.xml"; //自己开的服务器地址
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendRequest();
}
private void sendRequest() {
new Thread(new Runnable() {
@Override
public void run() {
OkHttpClient client=new OkHttpClient();
Request request=new Request.Builder()
.url(urlPath)
.build();
try {
Response response=client.newCall(request).execute();
String responseData=response.body().string();
parseXmlpull(responseData);
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
private void parseXmlpull(String responseData) {
try {
XmlPullParserFactory factory= XmlPullParserFactory.newInstance();
XmlPullParser xmlparse= Xml.newPullParser();
xmlparse.setInput(new StringReader(responseData));
int eventType =xmlparse.getEventType();
String id="";
String name="";
String age="";
while(eventType !=XmlPullParser.END_DOCUMENT){
String nodename=xmlparse.getName();
switch (eventType){
case XmlPullParser.START_TAG:
if ("id".equals(nodename)) {
id = xmlparse.nextText();
} else if ("name".equals(nodename)) {
name = xmlparse.nextText();
} else if ("age".equals(nodename)) {
age = xmlparse.nextText();
}
break;
case XmlPullParser.END_TAG:
if (nodename.equals("app")) {
Log.d("asdasd", "app="+id + name + age );
}
break;
default:
break;
}
eventType=xmlparse.next();
}
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
}
}
}
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.util.Xml;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.aokhttp.Response;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.IOException;
import java.io.StringReader;
public class MainActivity extends AppCompatActivity {
private static final String urlPath="http://192.168.0.110:8080/qw.xml"; //自己开的服务器地址
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendRequest();
}
private void sendRequest() {
new Thread(new Runnable() {
@Override
public void run() {
OkHttpClient client=new OkHttpClient();
Request request=new Request.Builder()
.url(urlPath)
.build();
try {
Response response=client.newCall(request).execute();
String responseData=response.body().string();
parseXmlpull(responseData);
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
private void parseXmlpull(String responseData) {
try {
XmlPullParserFactory factory= XmlPullParserFactory.newInstance();
XmlPullParser xmlparse= Xml.newPullParser();
xmlparse.setInput(new StringReader(responseData));
int eventType =xmlparse.getEventType();
String id="";
String name="";
String age="";
while(eventType !=XmlPullParser.END_DOCUMENT){
String nodename=xmlparse.getName();
switch (eventType){
case XmlPullParser.START_TAG:
if ("id".equals(nodename)) {
id = xmlparse.nextText();
} else if ("name".equals(nodename)) {
name = xmlparse.nextText();
} else if ("age".equals(nodename)) {
age = xmlparse.nextText();
}
break;
case XmlPullParser.END_TAG:
if (nodename.equals("app")) {
Log.d("asdasd", "app="+id + name + age );
}
break;
default:
break;
}
eventType=xmlparse.next();
}
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- Android之深入理解xml数据的pull解析
- XML详解-pull解析
- XML的pull解析
- xml的pull解析
- Xml的pull解析
- Android XML文档解析(三)——Pull解析
- Android中XML解析-PULL解析
- Java-->xml的pull解析
- xml之SAX,DOM,PULL解析
- Android xml文件创建和pull解析
- XML_pull解析
- xml中的pull解析
- android xml的pull解析
- android xml解析-Pull解析
- Android 漫游之路------SharedPreferences、Xml、Xml的pull解析
- android 解析XML最常用的三种方式;DOM解析,SAX解析,PULL解析
- 第三方的httputils请求数据和xml的pull解析
- xml解析(使用pull解析)
- PHP基础之使用Expat解析xml
- Python xml.etree.ElementTree解析XML文件实例演示(十六02)