Chinaunix首页 | 论坛 | 博客
  • 博客访问: 762980
  • 博文数量: 168
  • 博客积分: 1784
  • 博客等级: 上尉
  • 技术积分: 2167
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-05 22:20
  • 认证徽章:
个人简介

发上等愿,结中等缘,享下等福;择高处立,就平处坐,向宽处行。

文章分类

全部博文(168)

文章存档

2018年(4)

2017年(4)

2016年(13)

2015年(22)

2014年(19)

2013年(25)

2012年(32)

2011年(49)

分类: 嵌入式

2012-04-25 09:58:38


XMLSocket.java
 

点击(此处)折叠或打开

  1. package cn.missyu.pg.util;

  2. import java.net.MalformedURLException;
  3. import java.net.URL;

  4. import org.dom4j.Document;
  5. import org.dom4j.DocumentException;
  6. import org.dom4j.io.SAXReader;

  7. public class XMLSocket {
  8.     String urlStr = null;
  9.     Document document = null;
  10.     SAXReader saxReader = new SAXReader();

  11.     public XMLSocket() {
  12.         urlStr = "http://procon-online.net/xml/get_map.xml";
  13.     }

  14.     public XMLSocket(String urlStr) {
  15.         this.urlStr = urlStr;
  16.     }

  17.     public Document connect() {
  18.         URL url;
  19.         try {
  20.             url = new URL(urlStr);
  21.             document = saxReader.read(url);
  22.         } catch (MalformedURLException e) {
  23.             e.printStackTrace();
  24.         } catch (DocumentException e) {
  25.             e.printStackTrace();
  26.         }
  27.         return document;
  28.     }
  29. }

class BattleState中:

点击(此处)折叠或打开

  1. public void readXMLBattleState(String urlStr) {
  2.         XMLSocket xmls = new XMLSocket(urlStr);
  3.         Document document = xmls.connect();
  4.         Element root = document.getRootElement();

  5.         List<Element> maps = root.elements("map");
  6.         String[] ownerTempStr = maps.get(0).elements("owner").get(0).getText().split(",");
  7.         for (int i=0; i<Map.MAP_SIZE; ++i) {
  8.             ownerMap.map[i] = Integer.parseInt(ownerTempStr[i]);
  9.         }
  10.         String[] provisionTempStr = maps.get(0).elements("provision").get(0).getText().split(",");
  11.         for (int i=0; i<Map.MAP_SIZE; ++i) {
  12.             provisionMap.map[i] = Integer.parseInt(provisionTempStr[i]);
  13.         }

  14.         session = Integer.parseInt(root.elements("session").get(0).getText());

  15.         int i = 0;
  16.         List<Element> teams = root.elements("team");
  17.         for (Iterator<Element> it = teams.iterator(); it.hasNext();) {
  18.             List<Element> machines = it.next().elements("machine");
  19.             int j=0;
  20.             for (Iterator<Element> mit = machines.iterator(); mit.hasNext();) {
  21.                 this.teams[i++].robot[j++].carryover = Integer.parseInt(machines.get(0).elements("carryover").get(0).getText());
  22.             }
  23.         }

  24.     }

阅读(1080) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册