拿到资产目录下的xml文件,并解析xml文件

来源:互联网 发布:学java看什么书 编辑:程序博客网 时间:2024/04/30 15:54

xml文件样式:

<?xml version="1.0" encoding="UTF-8"?><CONFIGS>    <ServerUrl>         <url>http://192.168.1.200:8080/jq/GetJQsByJson</url>     </ServerUrl>   <Interval>          <time>30</time>      </Interval>   <save>nihaoalalallallallallalla</save>  </CONFIGS>

或去assets下的文件并转换为流的形式:(以下两种方法都可以,任选其一)

InputStream inputStream = this.getAssets().open("config.xml");InputStream inputStream = this.getClass().getResourceAsStream("/assets/config.xml");
进行xml的解析:(把解析出来的字段封装到bean对象中)

public ConfigBean parse()  {ConfigBean configBean=null;try {//InputStream inputStream = this.getAssets().open("config.xml");InputStream inputStream = this.getClass().getResourceAsStream("/assets/config.xml");XmlPullParser xmlPullParser=Xml.newPullParser();xmlPullParser.setInput(inputStream, "UTF-8");int eventType = xmlPullParser.getEventType();while (eventType!=XmlPullParser.END_DOCUMENT) {if (eventType==XmlPullParser.START_TAG) {String name = xmlPullParser.getName();if ("CONFIGS".equals(name)) {configBean=new ConfigBean();}else if ("url".equals(name)) {String url = xmlPullParser.nextText();configBean.url=url;}else if ("time".equals(name)) {String time = xmlPullParser.nextText();configBean.time=time;}else if ("save".equals(name)) {String save = xmlPullParser.nextText();configBean.save=save;}}eventType=xmlPullParser.next();}} catch (Exception e) {e.printStackTrace();}return configBean;}


附xmlbean对象:

public class ConfigBean {public String url;public String time;public String save;}

至此可以拿到ConfigBean对象,进行操作了。


序列化为xml文件:

public static void serializerXml(Xmlbean xmlbean) {// 得到序列化器XmlSerializer serializer = Xml.newSerializer();try {String file = Environment.getExternalStorageDirectory().getPath()+ "/xmlbean.xml";FileOutputStream outputStream = new FileOutputStream(file);serializer.setOutput(outputStream, "utf-8");serializer.startDocument("utf-8", null);serializer.startTag(null, "CONFIGS");serializer.startTag(null, "ServerUrl");serializer.startTag(null, "url");serializer.text(xmlbean.url);serializer.endTag(null, "url");serializer.endTag(null, "ServerUrl");serializer.startTag(null, "Interval");serializer.startTag(null, "time");serializer.text(xmlbean.time);serializer.endTag(null, "time");serializer.endTag(null, "Interval");serializer.endTag(null, "CONFIGS");serializer.endDocument();serializer.flush();} catch (Exception e) {e.printStackTrace();}}


xmlbean只是一个bean对象,把一个对象的所有字段写成一个xml文件,保存起来。
0 0
原创粉丝点击