解析xml的方法

简单的读析xml:

 

 

例子:

<? xml version = "1.0" encoding = "utf-8" ?>

< Table name = "UserList" >

            < key name = "number1" >

                 

                  < logname >小白 </ logname >

                  < passwd > 123456 </ passwd >

                

                  < default_Mark > disable </ default_Mark >

            </ key >

            < key name = "number2" >

                 

                  < logname >小红 </ logname >

                  < passwd >123456 </ passwd >

                 

                  < default_Mark > disable </ default_Mark >

            </ key >

            < key name = "number3" >

                 

                  < logname >小强 </ logname >

                  < passwd >234567 </ passwd >

                 

                  < default_Mark > disable </ default_Mark >

            </ key >

            

        

           

</ Table >

 

 

1.1 首先创建对象 User,对应xml里面的key:

public class User implements Serializable{

      private static final long serialVersionUID = 1L;

      private String usename ;

      private String password ;

      private String default_Mark ;

      private String UserMark ;

      public User() {

      }

     

      public User (String usename, String password,String default_Mark,String UserMark ) {

            this . usename = usename;

            this . password = password;

            this. UserMark = UserMark ;

            this . default_Mark = default_Mark;

 

      }

      public String getUseName() {

            return usename ;

      }

      public String getValue() {

            return password ;

      }

     

      public String getdefault_Mark() {

            return default_Mark ;

      }


      public String getUserMark() {

            return UserMark ;

      }

 

    

      public void setUseName(String usename) {

            this . usename = usename;

      }

      public void setvalue(String password) {

 

            this . password = password;

      }

      public void setUserMark(String UserMark)

      {

 

            this . UserMark = UserMark ;

      }


      public void setdefault_Mark(String default_Mark) {

            this . default_Mark = default_Mark;

      }

     

}

1.2 使用 xmlpull xml:

public class ReadService {   

public static List<User> getEventsFromAnXML(InputStream is)  throws Exception

{

      XmlPullParser xpp = Xml.newPullParser ();

      xpp.setInput(is, "utf-8" );

      int eventType = xpp.getEventType();

      List<User> keys = null ;

       User key = null ;

     

      boolean done = false ;

      while (eventType != XmlPullParser. END_DOCUMENT && !done)

      {

           

            switch (eventType){

            case XmlPullParser. START_DOCUMENT :

                  keys = new ArrayList< User >();          

                  break ;

            case XmlPullParser. START_TAG :

                  String tag = xpp.getName();                 

                  if (tag.equalsIgnoreCase( "key" )){

                        key = new User ();

                        key.set UserMark (xpp.getAttributeValue(0));

                  } else if (key != null ){

                        if ( tag.equalsIgnoreCase( "logname" )){

                              key.setServerValue( new String(xpp.nextText()));

                        } else if (tag.equalsIgnoreCase( "passwd" )){

                              key.setvalue( new String(xpp.nextText()));

                        } else if (tag.equalsIgnoreCase( "default_Mark" )){

                              key.setdefault_Mark( new String(xpp.nextText()));

                        }          

                  }

                  break ;

           

            case XmlPullParser. END_TAG :

                  if (xpp.getName().equalsIgnoreCase( "key" ) && key != null ) {                  

                        keys.add(key);                     

                        key = null ;

                  }

                 

                  else if (xpp.getName().equalsIgnoreCase( "Table" )){

                done = true ;

            }

                  break ;

           

            }     

            eventType = xpp.next();

      }

      is.close();

      return keys;

      }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值