在android中xml的解析也是比较方便的 因为android也集成了一些常用的xml解析方法,
如:XmlPull
public class PullPersonService {    /**     * 使用pull解析器生成xml文件     *      * @param persons     * @param writer     * @return     */    public static String writeXML(List<Person> persons, Writer writer){        XmlSerializer serializer = Xml.newSerializer();        try {            serializer.setOutput(writer);            serializer.startDocument("UTF-8", true);            //第一个参数为命名空间,如果不使用命名空间,可以设置为null            serializer.startTag("", "persons");            for (Person person : persons){                serializer.startTag("", "person");                serializer.attribute("", "id", person.getId().toString());                serializer.startTag("", "name");                serializer.text(person.getName());                serializer.endTag("", "name");                serializer.startTag("", "age");                serializer.text(person.getAge().toString());                serializer.endTag("", "age");                serializer.endTag("", "person");            }            serializer.endTag("", "persons");            serializer.endDocument();        } catch (Exception e) {            e.printStackTrace();        }        return writer.toString();    }        /**     * 使用pull解析器解析xml文件     *      * @param inStream     * @return     * @throws Exception     */    public static List<Person> readXML(InputStream inStream) throws Exception {        XmlPullParser parser = Xml.newPullParser();        parser.setInput(inStream, "UTF-8");        int eventType = parser.getEventType();        Person currentPerson = null;        List<Person> persons = null;        while (eventType != XmlPullParser.END_DOCUMENT) {            switch (eventType) {            case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理                persons = new ArrayList<Person>();                break;            case XmlPullParser.START_TAG:// 开始元素事件                String name = parser.getName();                if (name.equalsIgnoreCase("person")) {                    currentPerson = new Person();                    currentPerson.setId(new Integer(parser.getAttributeValue(null, "id")));                } else if (currentPerson != null) {                    if (name.equalsIgnoreCase("name")) {                        currentPerson.setName(parser.nextText());// 如果后面是Text元素,即返回它的值                    } else if (name.equalsIgnoreCase("age")) {                        currentPerson.setAge(new Short(parser.nextText()));                    }                }                break;            case XmlPullParser.END_TAG:// 结束元素事件                if (parser.getName().equalsIgnoreCase("person")&& currentPerson != null) {                    persons.add(currentPerson);                    currentPerson = null;                }                break;            }            eventType = parser.next();        }        inStream.close();        return persons;    }}


student.xml 代码贴不了 郁闷

更多相关文章

  1. android2.2资源文件详解4--menu文件夹下的菜单定义
  2. Android 编程下通过 zipalign 对 APK 文件进行优化
  3. android中MotionEvent.ACTION_CANCEL事件如何被触发?
  4. Android Manifest文件中meta-data的配置读取
  5. [转]Android文件管理器介绍
  6. android使用pull解析器来解析和生成xml文件
  7. android从服务器下载文件(php+apache+win7+MySql)
  8. android引入so文件常见问题
  9. 自定义控件attrs文件里的属性

随机推荐

  1. Android读写XML(中)——SAX
  2. android之resources资源
  3. 本例为模仿微信聊天界面UI设计,文字发送以
  4. Android工程的编译过程
  5. Android(安卓)Studio 3.0 新功能全面解析
  6. android与javascript交互调用
  7. Android高手进阶教程(一)-------Android
  8. iOS 和 Android(安卓)哪个更利于赚钱?
  9. Android实战技巧之四十四:Hello,Native!
  10. 环球旅讯 Android使用报道