读取 xml 到list

简介: String fileName = "AdapterModultSetting.xml"; MainSettingData mainSettingData = null; SubSettingData subSettingData = null; List mainSettingD...

String fileName = "AdapterModultSetting.xml";

MainSettingData mainSettingData = null;

SubSettingData subSettingData = null;

List<MainSettingData> mainSettingDatas = null;

List<SubSettingData> subSettingDatas = null;

//第一步--------读SharedPreferences

//第一步--------从assets中获得xml数据

InputStream is = mContext.getResources().getAssets().open(fileName);

XmlPullParser parse = Xml.newPullParser();

parse.setInput(is, "utf-8");

int type = parse.getEventType();

while (type != XmlPullParser.END_DOCUMENT) {

switch (type) {

case XmlPullParser.START_DOCUMENT:

mainSettingDatas = new ArrayList<MainSettingData>();

break;

case XmlPullParser.START_TAG:

Log.i("测试数据", parse.getName());

if ("main_menu_data".equals(parse.getName())) {

mainSettingData = new MainSettingData();

mainSettingData.setId(Integer.parseInt(parse.getAttributeValue(parse.getNamespace(), "id")));//save parameter

mainSettingData.setTitle(parse.getAttributeValue(parse.getNamespace(), "title"));

subSettingDatas = new ArrayList<SubSettingData>();//子菜单

}

if (mainSettingData != null) {

if ("sub_menu_data".equals(parse.getName())) {

subSettingData = new SubSettingData();

subSettingData.setId(Integer.parseInt(parse.getAttributeValue(parse.getNamespace(), "id")));

subSettingData.setType(Integer.parseInt(parse.getAttributeValue(parse.getNamespace(), "type")));

subSettingData.setSubTitle(parse.getAttributeValue(parse.getNamespace(), "subTitle"));

subSettingData.setSubState(parse.getAttributeValue(parse.getNamespace(), "subState"));

subSettingData.setSubValue(Integer.parseInt(parse.getAttributeValue(parse.getNamespace(), "subValue")));

}

}

break;

case XmlPullParser.END_TAG:

if ("main_menu_data".equals(parse.getName())) {

if(subSettingData != null && subSettingDatas != null){

subSettingDatas.add(subSettingData);

}

if (mainSettingData != null && mainSettingDatas != null) {

if(subSettingDatas != null){

mainSettingData.setSubSettingDatas(subSettingDatas);//子菜单加入主菜单

}

mainSettingDatas.add(mainSettingData);

}

}

break;

}

type = parse.next();

}

is.close();

数据在mainSettingDatas中

相关文章
|
XML JavaScript 前端开发
【前端】白天/黑夜主题切换:JS读取XML预设主题实现黑白主题切换
【前端】白天/黑夜主题切换:JS读取XML预设主题实现黑白主题切换
202 0
【前端】白天/黑夜主题切换:JS读取XML预设主题实现黑白主题切换
|
XML 数据格式 Python
XML转CSV读取对应所有数据(tkinter工具)
代码段:处理xml标签和标签名的数据读取
152 0
XML转CSV读取对应所有数据(tkinter工具)
|
XML JavaScript 数据处理
【目标检测】一文干翻xml文件的读取
【目标检测】一文干翻xml文件的读取
【目标检测】一文干翻xml文件的读取
|
XML 数据格式
hutool读取xml文件
hutool读取xml文件
|
XML 消息中间件 运维
Sring源码解析(一)Spring是怎么读取配置Xml文件的
1#Spring读取配置文件 ##Document 在XmlBeanDefinitionReader.doLoadBeanDefinitions(InputSource inputSource, Resource resource)方法中将Xml文件转换成Document对象;Document doc = doLoadDocument(inputSource, resource);
Sring源码解析(一)Spring是怎么读取配置Xml文件的
|
XML 存储 Java
java积累——dom4j读取xml文件
java积累——dom4j读取xml文件
277 0
|
XML Linux 数据格式
python读取linux上的xml文件
python远程读取linxu服务器上的xml文件
160 0
|
XML Java 数据格式
Spring源码(二-3)-XML文件的读取-factory-method的使用
Spring 可以通过 factory-method 实例化对象。factory-method方式是 Spirng 实例对象的方式之一。
989 2
|
XML JSON 图形学
【Unity3D日常】使用Unity3D读取Json、XML、Excel文件
在日常开发中会遇到很多读取文件的操作,最常见的类型还是Json、txt、XML、Excel文件,那么今天就分享一下如何读取这几类文件
|
XML 存储 Java
Spring源码(二-1)-XML文件的读取-bean标签
上篇博文看到的四个标签中, bean 的解析最为复杂和重要。
632 1