栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 其他 > xml语言

详细介绍Android 解析XML文件和生成XML文件的示例代码

xml语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

详细介绍Android 解析XML文件和生成XML文件的示例代码

解析XML文件

public static void initXML(Context context) {        //can't create in /data/media/0 because permission         //can create in /sdcard/hotel        File mSettings = new File(HOTEL_PATH_XML);        if (!mSettings.exists()) {            mSettings.mkdirs();        }        File settings = new File(mSettings,"settings.xml");        Log.i("XmlPullParser-----settings", settings+"+1+");        if (!settings.exists()) {            try {                Log.i("XmlPullParser-----settings", settings+"+2+");                settings.createNewFile();                initSettings(settings);            } catch (IOException e) {                e.printStackTrace();                return;            }            return;        }                 try {            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();            factory.setNamespaceAware(true);            XmlPullParser xpp = factory.newPullParser();            xpp.setInput(new FileInputStream(settings), "utf-8");            int eventType = xpp.getEventType();            while (eventType != XmlPullParser.END_document) {                Log.i("XmlPullParser-----TAG", eventType+"");                if (eventType == XmlPullParser.START_TAG) {                    String tag = xpp.getName();                    Log.i("XmlPullParser-----TAG", "tag---------"+tag+"");                    if (tag.equals("item")) {                        String id = xpp.getAttributevalue(null, "id");                        String value = xpp.getAttributevalue(null, "value");                        if (id.equals("server")) {                            sServerAddr = value;                        } else if (id.equals("hotel")) {                            sHid = value;                        } else if (id.equals("room")) {                            sRoomNum = value;                        }                    }                }                eventType = xpp.next();            }            Log.i("XmlPullParser-----TAG", eventType+"exist the xunhuan");        } catch (XmlPullParserException e) {            e.printStackTrace();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }     }

生成XML文件

//默认是没有换行的
public static void initSettings(final File settings) { new Thread(new Runnable() { @Override public void run() { FileOutputStream fos = null; try { fos = new FileOutputStream(settings); XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(fos, "UTF-8"); serializer.startdocument("UTF-8", true); serializer.startTag(null, "config"); serializer.startTag(null, "category"); serializer.attribute(null, "name", "hot"); // server serializer.startTag(null, "item"); serializer.attribute(null, "id", "server"); serializer.attribute(null, "value", ""); serializer.endTag(null, "item"); // hid serializer.startTag(null, "item"); serializer.attribute(null, "id", "hotel"); serializer.attribute(null, "value", ""); serializer.endTag(null, "item"); // room serializer.startTag(null, "item"); serializer.attribute(null, "id", "room"); serializer.attribute(null, "value", ""); serializer.endTag(null, "item"); serializer.endTag(null, "category"); serializer.endTag(null, "config"); serializer.enddocument(); serializer.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }).start(); }

XmlPullParser 的使用

以上就是详细介绍Android 解析XML文件和生成XML文件的示例代码的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/794525.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号