XML pull解析 示例
来源:互联网 发布:python破解rar 编辑:程序博客网 时间:2024/06/11 17:17
package com.example.testdemo.pull;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import android.util.Log;
public class PullParserUtils {
public static void parserXMLPULL(String Str){
XmlPullParserFactory xpf;
XmlPullParser parser;
try{
//构建工厂实例
xpf = XmlPullParserFactory.newInstance();
//创建解析对象
parser = xpf.newPullParser();
//将XML文件以流的形式加入,并设置编码格式
// parser.setInput(is, "utf-8");
parser.setInput(new StringReader(Str));
//此时文件刚初始化,所以解析位置时文件开始
//标签name
String nodeName ="";
//text
String nodeText = "";
int type = parser.getEventType();// 此时返回0 也就是START_DOCUMENT
//返回类型START_DOCUMENT,END_DOCUMENT,START_TAG,END_TAG,TEXT
while(type != XmlPullParser.END_DOCUMENT){
switch (type) {
case XmlPullParser.START_DOCUMENT:
//进行初始化工作
// list = new ArrayList<River>();
break;
case XmlPullParser.START_TAG:
nodeName = parser.getName();
Log.i("pull", "nodeName:"+nodeName);
String coursesType66 = parser.getAttributeValue(null, "coursesType");
Log.i("pull", "66coursesType:"+coursesType66);
break;
case XmlPullParser.TEXT:
nodeText = parser.getText();
Log.i("pull", "nodeText:"+nodeText);
if(!"".equals(nodeText)){
//开始进行 nodeName判断
if("requestDownloadUrl".equals(nodeName)){
//<requestDownloadUrl coursesType="China" >http://www.baidu.com</requestDownloadUrl>
// String coursesType = parser.getAttributeValue(0);
String coursesType = parser.getAttributeValue(null, "coursesType");
Log.i("pull", "coursesType:"+coursesType);
}
}
break;
case XmlPullParser.END_TAG:
break;
default:
break;
}
type = parser.next();//当前解析位置结束,指向下一个位置
}
}catch(XmlPullParserException e){
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// public static ASsystemInfo getParserXmlByPull(String inputStream) throws Exception{
// // List<ASsystemInfo> books = null;
// ASsystemInfo news = null;
// XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
// factory.setNamespaceAware(true);
// XmlPullParser parser=factory.newPullParser();
// inputStream = inputStream.replaceAll(" ", " ");
// inputStream = inputStream.replaceAll("<br>", "\n");
// parser.setInput(new StringReader(inputStream.replaceAll("&","&")));
//
// int eventType=parser.getEventType();
// String nodeName = "";
// while (eventType != XmlPullParser.END_DOCUMENT) {
//
// if (eventType == XmlPullParser.START_DOCUMENT)
// {
// // Log.e("===", "START_DOCUMENT");
// // books = new ArrayList<ASsystemInfo>();//初始化books集合
// }
// else if (eventType== XmlPullParser.START_TAG)
// {
// // Log.e("===", "START_TAG");
// nodeName = parser.getName();
// if("asSystemInf".equals(nodeName)){
// news = new ASsystemInfo();
// }
//获取标签属性值 示例<requestDownloadUrl coursesType="China" >http://www.baidu.com</requestDownloadUrl>
// if("requestDownloadUrl".equals(nodeName) && news != null)
// {
//
// String coursesType = parser.getAttributeValue(null, "coursesType");
// if(coursesType != null)
// news.setCoursesType(coursesType);
// }
//
// }
// else if(eventType==XmlPullParser.TEXT)
// {
// String nodeText = parser.getText();
//
// if (!"".equals(nodeText.trim()))
// {
// //在这里判断nodeName
//
// if("heartPackets".equals(nodeName) && news != null)
// {
//
// news.setHeartPackets(nodeText.trim());
// MyApplication.heartPackets_STA=true;
// }
// if("firstHander".equals(nodeName) && news != null)
// {
//
// news.setFirstHander(nodeText.trim());
// MyApplication.firstHander_STA=true;
// }
// if("currentSWF".equals(nodeName) && news != null)
// {
// news.setCurrentSWF(nodeText.trim());
// MyApplication.currentSWF_STA=true;
// }
// if("powerType".equals(nodeName) && news != null)
// {
// news.setPowerType(nodeText.trim());
// MyApplication.powerType_STA=true;
// }
// if("timeSet".equals(nodeName) && news != null)
// {
// news.setTimeSet(nodeText.trim());
// MyApplication.timeSet_STA=true;
// }
// if("startApp".equals(nodeName) && news != null)
// {
// news.setStartApp(nodeText.trim());
// MyApplication.startApp_STA=true;
// }
//
// if("requestDownloadUrl".equals(nodeName) && news != null)
// {
//
// news.setRequestDownloadUrl(nodeText.trim());
// MyApplication.requestDownloadUrl_STA=true;
// }
//
// if("volume".equals(nodeName) && news != null)
// {
// String ddd=nodeText.trim();
// news.setVolume(ddd);
// MyApplication.volume_STA=true;
// }
// if("backlight".equals(nodeName) && news != null)
// {
// String ddd=nodeText.trim();
// news.setBacklight(ddd);
// MyApplication.Backlight_STA=true;
// }
//
// }
// }else if(eventType== XmlPullParser.END_TAG)
// {
//
// if("asSystemInf".equals(parser.getName())){//判断结束标签元素是否是book
//
// if(news.getHeartPackets()==""){
//
// }else{
// // books.add(news);//将book添加到books集合
// }
//
// // news = null;
// }
// }
//
// eventType=parser.next();
// }
// return news;
// }
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import android.util.Log;
public class PullParserUtils {
public static void parserXMLPULL(String Str){
XmlPullParserFactory xpf;
XmlPullParser parser;
try{
//构建工厂实例
xpf = XmlPullParserFactory.newInstance();
//创建解析对象
parser = xpf.newPullParser();
//将XML文件以流的形式加入,并设置编码格式
// parser.setInput(is, "utf-8");
parser.setInput(new StringReader(Str));
//此时文件刚初始化,所以解析位置时文件开始
//标签name
String nodeName ="";
//text
String nodeText = "";
int type = parser.getEventType();// 此时返回0 也就是START_DOCUMENT
//返回类型START_DOCUMENT,END_DOCUMENT,START_TAG,END_TAG,TEXT
while(type != XmlPullParser.END_DOCUMENT){
switch (type) {
case XmlPullParser.START_DOCUMENT:
//进行初始化工作
// list = new ArrayList<River>();
break;
case XmlPullParser.START_TAG:
nodeName = parser.getName();
Log.i("pull", "nodeName:"+nodeName);
String coursesType66 = parser.getAttributeValue(null, "coursesType");
Log.i("pull", "66coursesType:"+coursesType66);
break;
case XmlPullParser.TEXT:
nodeText = parser.getText();
Log.i("pull", "nodeText:"+nodeText);
if(!"".equals(nodeText)){
//开始进行 nodeName判断
if("requestDownloadUrl".equals(nodeName)){
//<requestDownloadUrl coursesType="China" >http://www.baidu.com</requestDownloadUrl>
// String coursesType = parser.getAttributeValue(0);
String coursesType = parser.getAttributeValue(null, "coursesType");
Log.i("pull", "coursesType:"+coursesType);
}
}
break;
case XmlPullParser.END_TAG:
break;
default:
break;
}
type = parser.next();//当前解析位置结束,指向下一个位置
}
}catch(XmlPullParserException e){
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// public static ASsystemInfo getParserXmlByPull(String inputStream) throws Exception{
// // List<ASsystemInfo> books = null;
// ASsystemInfo news = null;
// XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
// factory.setNamespaceAware(true);
// XmlPullParser parser=factory.newPullParser();
// inputStream = inputStream.replaceAll(" ", " ");
// inputStream = inputStream.replaceAll("<br>", "\n");
// parser.setInput(new StringReader(inputStream.replaceAll("&","&")));
//
// int eventType=parser.getEventType();
// String nodeName = "";
// while (eventType != XmlPullParser.END_DOCUMENT) {
//
// if (eventType == XmlPullParser.START_DOCUMENT)
// {
// // Log.e("===", "START_DOCUMENT");
// // books = new ArrayList<ASsystemInfo>();//初始化books集合
// }
// else if (eventType== XmlPullParser.START_TAG)
// {
// // Log.e("===", "START_TAG");
// nodeName = parser.getName();
// if("asSystemInf".equals(nodeName)){
// news = new ASsystemInfo();
// }
//获取标签属性值 示例<requestDownloadUrl coursesType="China" >http://www.baidu.com</requestDownloadUrl>
// if("requestDownloadUrl".equals(nodeName) && news != null)
// {
//
// String coursesType = parser.getAttributeValue(null, "coursesType");
// if(coursesType != null)
// news.setCoursesType(coursesType);
// }
//
// }
// else if(eventType==XmlPullParser.TEXT)
// {
// String nodeText = parser.getText();
//
// if (!"".equals(nodeText.trim()))
// {
// //在这里判断nodeName
//
// if("heartPackets".equals(nodeName) && news != null)
// {
//
// news.setHeartPackets(nodeText.trim());
// MyApplication.heartPackets_STA=true;
// }
// if("firstHander".equals(nodeName) && news != null)
// {
//
// news.setFirstHander(nodeText.trim());
// MyApplication.firstHander_STA=true;
// }
// if("currentSWF".equals(nodeName) && news != null)
// {
// news.setCurrentSWF(nodeText.trim());
// MyApplication.currentSWF_STA=true;
// }
// if("powerType".equals(nodeName) && news != null)
// {
// news.setPowerType(nodeText.trim());
// MyApplication.powerType_STA=true;
// }
// if("timeSet".equals(nodeName) && news != null)
// {
// news.setTimeSet(nodeText.trim());
// MyApplication.timeSet_STA=true;
// }
// if("startApp".equals(nodeName) && news != null)
// {
// news.setStartApp(nodeText.trim());
// MyApplication.startApp_STA=true;
// }
//
// if("requestDownloadUrl".equals(nodeName) && news != null)
// {
//
// news.setRequestDownloadUrl(nodeText.trim());
// MyApplication.requestDownloadUrl_STA=true;
// }
//
// if("volume".equals(nodeName) && news != null)
// {
// String ddd=nodeText.trim();
// news.setVolume(ddd);
// MyApplication.volume_STA=true;
// }
// if("backlight".equals(nodeName) && news != null)
// {
// String ddd=nodeText.trim();
// news.setBacklight(ddd);
// MyApplication.Backlight_STA=true;
// }
//
// }
// }else if(eventType== XmlPullParser.END_TAG)
// {
//
// if("asSystemInf".equals(parser.getName())){//判断结束标签元素是否是book
//
// if(news.getHeartPackets()==""){
//
// }else{
// // books.add(news);//将book添加到books集合
// }
//
// // news = null;
// }
// }
//
// eventType=parser.next();
// }
// return news;
// }
}
刚开始拿不到标签的属性,原因是在XmlPullParser.TEXT标签内容里面获取,后面重新在XmlPullParser.START_TAG标签开始里面获取解决问题
0 0
- XML pull解析 示例
- xml解析的pull解析示例
- XML解析Pull解析
- XML解析---PULL解析
- XML的pull解析
- Pull解析XML文件
- Pull详解解析xml
- Pull解析Xml方式
- Android Pull解析xml
- pull解析xml
- xml解析(PULL)
- Pull 解析xml
- android pull 解析xml
- pull解析xml
- PULL解析XML
- android PULL 解析XML
- Android Pull解析xml
- Pull解析xml文件
- Python 学习笔记(for循环)
- android图形系统详解六:View layer
- 核心模块,事件驱动-03
- 网络编程---TCP
- MD5加密 .
- XML pull解析 示例
- iOS开发关于开启应用外地图
- 第二篇博客
- Bootstrap 教程第一课:简单的 Bootstrap 主页
- android-Manifest.permission_group
- android 全屏
- Spring遇到 NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
- JavaScript基础——浏览器对象模型(BOM)
- 添加半透明水印