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

互联网 17-3-20
解析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文件

//默认是没有换行的<br>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文件的示例代码的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:XML文件数减少的示例代码分享

相关资讯