[Abstract] this article explains how to parse XML files and generate XML files in Android. it is helpful for learning Android programming technology and can be shared with you. Parse XML files
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(); } }
Generate XML file
// No line breaks are generated by default.
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. att Ribute (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"); serial Izer. 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 ();}
Use of XmlPullParser
The preceding section details the sample code for parsing XML files and generating XML files in Android. For more information, see other related articles in the first PHP community!