1、xml文件,xml文件在res/xml目录下

 <?xml version="1.0" encoding="utf-8"?>
<infos>
<city id="1">
<temp>20C/30C</temp>
<weather>多云转晴</weather>
<wind>7-8级</wind>
<name>广州</name>
<pm>200</pm>
</city>
<city id="2">
<temp>25C/30C</temp>
<weather>多云转晴</weather>
<wind>2-3级</wind>
<name>钦州</name>
<pm>100</pm>
</city>
<city id="3">
<temp>20C/30C</temp>
<weather>多云转晴</weather>
<wind>7-9级</wind>
<name>北海</name>
<pm>250</pm>
</city>
</infos>
 <?xml version="1.0" encoding="UTF-8"?>
<plugin>
<server>
<className>Demo</className>
<serverName>显示信息</serverName>
<methodName>showDemo</methodName>
</server>
<server>
<className>Demo</className>
<serverName>bbs</serverName>
<methodName>doBbs</methodName>
</server>
</plugin>

2、xml文件

 package com.zyh.androidpathtest;

 import java.util.ArrayList;
import java.util.List; import android.os.Bundle;
import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} public void click(View view){
try {
XmlResourceParser parser = getResources().getXml(R.xml.weather);
int type = parser.getEventType();
while(type != XmlResourceParser.END_DOCUMENT){
switch(type){
case XmlResourceParser.START_TAG:
if("infos".equals(parser.getName())){
}else if("city".equals(parser.getName())){
String idStr = parser.getAttributeValue(0);
System.out.println("idStr=" + idStr);
}else if("temp".equals(parser.getName())){
String temp = parser.nextText();
System.out.println("temp=" + temp);
}else if("weather".equals(parser.getName())){
String weather = parser.nextText();
System.out.println("weather=" + weather);
}else if("wind".equals(parser.getName())){
String wind = parser.nextText();
System.out.println("wind=" + wind);
}else if("name".equals(parser.getName())){
String name = parser.nextText();
System.out.println("name=" + name);
}else if("pm".equals(parser.getName())){
String pm = parser.nextText();
System.out.println("pm=" + pm);
}
break;
case XmlResourceParser.END_TAG:
if("city".equals(parser.getName())){
System.out.println("===================================");
}
default:
break;
} type = parser.next();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void click2(View view){
try{
XmlResourceParser parser = getResources().getXml(R.xml.plugin_server);
int type = parser.getEventType();
PluginServer ps=null;
List<PluginServer> pss = null;
while(type != XmlResourceParser.END_DOCUMENT){
switch(type){
case XmlResourceParser.START_TAG:
if(TextUtils.equals("plugin", parser.getName())){
pss = new ArrayList<PluginServer>();
}else if(TextUtils.equals("server", parser.getName())){
ps = new PluginServer();
}else if(TextUtils.equals("className", parser.getName())){
String className = parser.nextText();
ps.setClassName(className);
}else if(TextUtils.equals("serverName", parser.getName())){
String serverName = parser.nextText();
ps.setServerName(serverName);
}else if(TextUtils.equals("methodName", parser.getName())){
String methodName = parser.nextText();
ps.setMethodName(methodName);
}
break;
case XmlResourceParser.END_TAG:
if(TextUtils.equals("server", parser.getName())){
pss.add(ps);
}
break;
default:
break;
}
type = parser.next();
} for(PluginServer pgs : pss){
System.out.println(pgs.toString());
}
}catch(Exception e){
e.printStackTrace();
}
} }

插件化—配置xml的辅助测试的更多相关文章

  1. 玩转Spring Boot 自定义配置、导入XML配置与外部化配置

    玩转Spring Boot 自定义配置.导入XML配置与外部化配置       在这里我会全面介绍在Spring Boot里面如何自定义配置,更改Spring Boot默认的配置,以及介绍各配置的优先 ...

  2. 2015年12月10日 spring初级知识讲解(二)最小化Spring XML配置 注解

    序,随着Spring容器管理Bean数量增加,XML文件会越来越大,而且纯手工配置XML很繁琐,Spring和JAVA都提供了一些注解方式用以简化XML配置. 目录 一.自动装配(autowiring ...

  3. android studio 汉化 svn插件汉化。布局文件 属性 汉化 public.xml

    android studio 汉化 SvnBundle.properties D:\Android Studio\plugins\svn4idea\lib resources_en.jar\org\j ...

  4. 有关Android插件化思考

    最近几年移动开发业界兴起了「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接.随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内 ...

  5. 插件化 VirtualAPK 简介 体验 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  6. libnetwork插件化网络功能

    Docker把网络跟存储这两部分的功能实现都以插件化形式剥离出来,允许用户通过指令来选择不同的后端实现.这也是Docker希望构建围绕着容器的强大生态系统的一些积极的尝试.剥离出来的独立容器网络项目叫 ...

  7. 360插件化Replugin爬坑之路

    前言 继上次爬完了热修复的坑位,中途爬了各种各样的坑.今天我们来说说插件化Replugin的坑位.Replugin刚出的时候我就看过了.第一次看的时候可能心态不好.没看懂= =第二次重头在看,发现蛮简 ...

  8. Android架构设计之插件化、组件化

    如今移动app市场已经是百花齐放,其中有不乏有很多大型公司.巨型公司都是通过app创业发展起来的:app类型更加丰富,有电子商务.有视频.有社交.有工具等等,基本上涵盖了各行各业每个角落,为了更加具有 ...

  9. android 插件化框架speed-tools

    项目介绍: speed-tools 是一款基于代理模式的动态部署apk热更新框架.插件化开发框架: speed-tools这个名字主要指的快速迭代开发工具集的意思. 功能与特性: 1.支持Androi ...

随机推荐

  1. VS2010/MFC对话框:非模态对话框的创建及显示

    非模态对话框的创建及显示 上一节讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示. 已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切 ...

  2. Objective-C浅拷贝和深拷贝

    浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间 如: char* str = (char*)malloc(100);char* str2 = str; 浅拷贝只是对对象的简单拷贝 ...

  3. [置顶] 基于.NET的快速信息化系统开发框架 — RDIFramework.NET — 系统目录

    基于.NET的快速信息化系统开发整合框架 —RDIFramework.NET—系统目录 框架简单介绍 .NET快速开发整合框架(RDIFramework.NET),基于.NET的快速信息化系统开发.整 ...

  4. iOS --- [持续更新中] iOS移动开发中的优质资源

    在我们做iOS APP的开发过程中, 须要非常多设计, 产品, 技术, 运营等方面的技巧和资源. 现将其整理汇总, 本文会一直持续更新. 敬请关注. 设计 Dribbble Dribbble是一个面向 ...

  5. 飘逸的python - 一个最简单的服务器

    python拥有这种单独起一个服务器监听端口的能力,用标准库的wsgiref就行. from wsgiref.simple_server import make_server def simple_a ...

  6. BlokUI的使用

    1.点击弹出层以外的区域关闭弹出层 $(document).ready(function() {     $('#demo9').click(function() {         $.blockU ...

  7. C - N皇后问题(搜索)

    Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合 ...

  8. [iOS]超详细Apache服务器的配置(10.10系统)

    配置目的:有一个自己专属的测试服务器 我们需要做以下事情: 1.新建一个目录,存放网页 2.修改Apache配置文件httpd.conf - 修改两个路径 - 增加一个属性 - 支持PHP脚本 3.拷 ...

  9. JavaSE学习总结第22天_IO流4

    -  22.01  数据输入输出流的概述和讲解 操作基本数据类型 public class DataInputStreamextends FilterInputStream implements Da ...

  10. Identity-修改Error错误提示为中文

    第一步:重写IdentityErrorDescriber public class CustomIdentityErrorDescriber : IdentityErrorDescriber     ...