Pull解析Xml的代码:
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput( new StringReader ( "<foo>Hello World!</foo>" ) );
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("Start document");
} else if(eventType == XmlPullParser.END_DOCUMENT) {
System.out.println("End document");
} else if(eventType == XmlPullParser.START_TAG) {
System.out.println("Start tag "+xpp.getName());
} else if(eventType == XmlPullParser.END_TAG) {
System.out.println("End tag "+xpp.getName());
} else if(eventType == XmlPullParser.TEXT) {
System.out.println("Text "+xpp.getText());
}
eventType = xpp.next();
}
Pull保存Xml的代码:
public static void writeXml(OutputStream outputStream, String encoding) throws Exception {
try {
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(outputStream, encoding);
serializer.startDocument(encoding, true);
serializer.startTag(null, "persons");
serializer.startTag(null, "person");
serializer.attribute(null, "name", "zhangsan");
serializer.attribute(null, "id", "123");
serializer.text("Text for person describe");
serializer.endTag(null, "person");
serializer.endTag(null, "persons");
serializer.endDocument();
} catch (Exception e) {
throw e;
}
}