A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xingyunjunjun 中级黑马   /  2014-12-8 13:22  /  1210 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

<?xml version="1.0" encoding="utf-8"?>
<authorization>
    <subject type="USER" id="3" title="lihao" />
    <object type="BOOK" id="36680525054738531" title="配置工具使用说明.pdf" />
    <duration  startTime = "2014-12-02"  stopTime = "2014-12-03" / >
        <usageRestriction>
            <item type="read"  duration = "2014-12-02|2014-12-03"  maxCount="1" / >
            <item type="copy" />
            <item type="print" />
        </usageRestriction>
        <bindingDevice>
            <item type="Android Phone" id="00000000-314e-2752-0033-c5870033c587" title="pad" />
        </bindingDevice>

      <verson>
          <item type="version" id="version" title="1" />
          <item type="issuer" id="issuer" title="1" />
      </verson>

</authorization>
这样的xml文件要怎么解析,求解决

2 个回复

倒序浏览
PULL解析
回复 使用道具 举报
XmlPullParser对象android专用的XML解析方式
  1. public class WeatherService {

  2.         /**
  3.          *
  4.          *
  5.          * @param in
  6.          * @return
  7.          */
  8.         public static List<Channel> getWeather(InputStream in) {

  9.                 // 1
  10.                 XmlPullParser parser = Xml.newPullParser();
  11.                 // 2
  12.                 try {
  13.                         parser.setInput(in, "utf-8");

  14.                         List<Channel> smsLists = null;
  15.                         Channel channel = null;
  16.                         // 3
  17.                         int type = parser.getEventType(); //
  18.                         while (type != XmlPullParser.END_DOCUMENT) { //
  19.                                 switch (type) {
  20.                                 case XmlPullParser.START_TAG:
  21.                                         if ("weather".equals(parser.getName())) {
  22.                                                 smsLists = new ArrayList<Channel>();
  23.                                         } else if ("channel".equals(parser.getName())) {
  24.                                                 channel = new Channel();
  25.                                                 String id = parser.getAttributeValue(0);
  26.                                                 channel.setId(id);

  27.                                         } else if ("city".equals(parser.getName())) {
  28.                                                 String city = parser.nextText();
  29.                                                 channel.setCity(city);
  30.                                         } else if ("temp".equals(parser.getName())) {
  31.                                                 String temp = parser.nextText();
  32.                                                 channel.setTemp(temp);
  33.                                         } else if ("wind".equals(parser.getName())) {
  34.                                                 String wind = parser.nextText();
  35.                                                 channel.setWind(wind);
  36.                                         } else if ("pm2.5".equals(parser.getName())) {
  37.                                                 String pm250 = parser.nextText();
  38.                                                 channel.setPm250(pm250);
  39.                                         }

  40.                                         break;

  41.                                 case XmlPullParser.END_TAG:
  42.                                         if ("channel".equals(parser.getName())) {
  43.                                                 smsLists.add(channel);
  44.                                         }

  45.                                         break;

  46.                                 default:
  47.                                         break;
  48.                                 }

  49.                                 type = parser.next();

  50.                         }
  51.                         return smsLists;

  52.                 } catch (Exception e) {
  53.                         e.printStackTrace();
  54.                         return null;
  55.                 }

  56.         }
  57. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马