??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美巨乳在线,国产区在线观看成人精品,欧美精品一区二区视频http://www.aygfsteel.com/canvas/category/38230.html谁谓沛_Q一苇杭?/description>zh-cnFri, 24 Feb 2012 21:50:04 GMTFri, 24 Feb 2012 21:50:04 GMT60openlayers结(有参考项目代?http://www.aygfsteel.com/canvas/articles/how_to_do_with_openlayers.htmlBarrieBarrieMon, 11 Oct 2010 12:42:00 GMThttp://www.aygfsteel.com/canvas/articles/how_to_do_with_openlayers.htmlhttp://www.aygfsteel.com/canvas/comments/333731.htmlhttp://www.aygfsteel.com/canvas/articles/how_to_do_with_openlayers.html#Feedback10http://www.aygfsteel.com/canvas/comments/commentRss/333731.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/333731.html阅读全文

Barrie 2010-10-11 20:42 发表评论
]]>
用飞?libfetion)定时发天气预?/title><link>http://www.aygfsteel.com/canvas/articles/libfetion.html</link><dc:creator>Barrie</dc:creator><author>Barrie</author><pubDate>Mon, 23 Nov 2009 06:56:00 GMT</pubDate><guid>http://www.aygfsteel.com/canvas/articles/libfetion.html</guid><wfw:comment>http://www.aygfsteel.com/canvas/comments/303341.html</wfw:comment><comments>http://www.aygfsteel.com/canvas/articles/libfetion.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canvas/comments/commentRss/303341.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canvas/services/trackbacks/303341.html</trackback:ping><description><![CDATA[什么是libfetionQ请讉Khttp://www.libfetion.cn/查看<br /> <br /> 以下都是在ubuntu下进行的<br /> 参?br /> http://www.libfetion.cn/Docs-dve/Build-LibFx-on-ubuntu.txt<br /> <br /> 请用svn客户端下载libfetion-gui的源?br /> http://libfetion-gui.googlecode.com/svn/<br /> <br /> 安装开发过E中需要的软g<br /> <br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #000000;">sudo apt</span><span style="color: #000000;">-</span><span style="color: #000000;">get install libc</span><span style="color: #000000;">-</span><span style="color: #000000;">dev<br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">sudo apt</span><span style="color: #000000;">-</span><span style="color: #000000;">get install g</span><span style="color: #000000;">++</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">sudo apt</span><span style="color: #000000;">-</span><span style="color: #000000;">get install libcurl4</span><span style="color: #000000;">-</span><span style="color: #000000;">openssl</span><span style="color: #000000;">-</span><span style="color: #000000;">dev</span></div> <br /> 在trunk/qt4_src/libfetion/lib目录下找到静(rn)态库libfetion_32.aQ由于代码打是用python来写Q所以制作了(jin)一个动态库libfetion.so<br /> 具体步骤如下Q?br /> <br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008000;">#</span><span style="color: #008000;">解压?rn)态库?.o</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">ar </span><span style="color: #000000;">-</span><span style="color: #000000;">x libfetion_32.a<br /> <br /> </span><span style="color: #008000;">#</span><span style="color: #008000;">重新装为so</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">g</span><span style="color: #000000;">++</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">shared </span><span style="color: #000000;">-</span><span style="color: #000000;">Wall </span><span style="color: #000000;">-</span><span style="color: #000000;">fPIC </span><span style="color: #000000;">-</span><span style="color: #000000;">lcurl </span><span style="color: #000000;">-</span><span style="color: #000000;">pthread </span><span style="color: #000000;">*</span><span style="color: #000000;">.o </span><span style="color: #000000;">-</span><span style="color: #000000;">o libfetion.so<br /> <br /> </span><span style="color: #008000;">#</span><span style="color: #008000;">查看so[可选步骤]</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">nm libfetion.so <br /> </span></div> <br /> <br /> 发送天气预报的python代码如下Qlibfetion.so中具体的Ҏ(gu)h看trunk/qt4_src/libfetion/include/libfetion/libfetion.h<br /> <br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">  1</span> <span style="color: #008000;">#</span><span style="color: #008000;">!/usr/bin/env python</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">  2</span> <span style="color: #008000;">#</span><span style="color: #008000;">coding=utf-8</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">  3</span> <span style="color: #008000;">#</span><span style="color: #008000;">only can run at linux</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">  4</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> os<br /> </span><span style="color: #008080;">  5</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> ctypes<br /> </span><span style="color: #008080;">  6</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> urllib2<br /> </span><span style="color: #008080;">  7</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">  8</span> <span style="color: #008000;">#</span><span style="color: #008000;">城市(jng)代码列表</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">  9</span> <span style="color: #000000;">city_codes </span><span style="color: #000000;">=</span><span style="color: #000000;"> {<br /> </span><span style="color: #008080;"> 10</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">合肥</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0448</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 11</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">安庆(jin)</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0452</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 12</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">天|</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0133</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 13</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">南昌</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0097</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 14</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">上v</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0097</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 15</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">北京</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0097</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 16</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">长沙</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0013</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 17</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">常d</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0416</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 18</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">北京</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0008</span><span style="color: #800000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 19</span> <span style="color: #000000;">              </span><span style="color: #800000;">'</span><span style="color: #800000;">银川</span><span style="color: #800000;">'</span><span style="color: #000000;"> : </span><span style="color: #800000;">'</span><span style="color: #800000;">CHXX0259</span><span style="color: #800000;">'</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 20</span> <span style="color: #000000;">              }<br /> </span><span style="color: #008080;"> 21</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 22</span> <span style="color: #008000;">#</span><span style="color: #008000;">用户定制城市(jng)</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 23</span> <span style="color: #000000;">weather_users </span><span style="color: #000000;">=</span><span style="color: #000000;"> {<br /> </span><span style="color: #008080;"> 24</span> <span style="color: #000000;">                 </span><span style="color: #800000;">'</span><span style="color: #800000;">天|</span><span style="color: #800000;">'</span><span style="color: #000000;">:[</span><span style="color: #800000;">'</span><span style="color: #800000;">138*******3</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">159*******7</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">159*******2</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">150*******6</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">135*******1</span><span style="color: #800000;">'</span><span style="color: #000000;">],<br /> </span><span style="color: #008080;"> 25</span> <span style="color: #000000;">                 </span><span style="color: #800000;">'</span><span style="color: #800000;">北京</span><span style="color: #800000;">'</span><span style="color: #000000;">:[</span><span style="color: #800000;">'</span><span style="color: #800000;">159*******2</span><span style="color: #800000;">'</span><span style="color: #000000;">],<br /> </span><span style="color: #008080;"> 26</span> <span style="color: #000000;">                 </span><span style="color: #800000;">'</span><span style="color: #800000;">银川</span><span style="color: #800000;">'</span><span style="color: #000000;">:[</span><span style="color: #800000;">'</span><span style="color: #800000;">159*******2</span><span style="color: #800000;">'</span><span style="color: #000000;">]<br /> </span><span style="color: #008080;"> 27</span> <span style="color: #000000;">                 }<br /> </span><span style="color: #008080;"> 28</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 29</span> <span style="color: #008000;">#</span><span style="color: #008000;">自己手机</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 30</span> <span style="color: #000000;">myself_city_list </span><span style="color: #000000;">=</span><span style="color: #000000;"> [</span><span style="color: #800000;">'</span><span style="color: #800000;">天|</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">安庆(jin)</span><span style="color: #800000;">'</span><span style="color: #000000;">]<br /> </span><span style="color: #008080;"> 31</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 32</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> weather:<br /> </span><span style="color: #008080;"> 33</span> <span style="color: #000000;">    weatherBaseUrl </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">http://www.thinkpage.cn/weather/weather.aspx?uid=&l=zh-CN&p=CMA&a=0&u=C&s=4&m=0&x=1&d=2&fc=&bgc=&bc=&ti=1&in=1&li=2&c=</span><span style="color: #800000;">"</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 34</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">初始?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 35</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> </span><span style="color: #800080;">__init__</span><span style="color: #000000;">(self):<br /> </span><span style="color: #008080;"> 36</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">pass</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 37</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;"> 38</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">清空html</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 39</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> clear_html(self):<br /> </span><span style="color: #008080;"> 40</span> <span style="color: #000000;">        cmd </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">rm -f *.htm</span><span style="color: #800000;">'</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 41</span> <span style="color: #000000;">        os.popen(cmd)<br /> </span><span style="color: #008080;"> 42</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;"> 43</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">获得需要发送的城市(jng)代码</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 44</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> </span><span style="color: #800080;">__getCityToSend</span><span style="color: #000000;">(self):<br /> </span><span style="color: #008080;"> 45</span> <span style="color: #000000;">        self.city_all </span><span style="color: #000000;">=</span><span style="color: #000000;"> {}<br /> </span><span style="color: #008080;"> 46</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> key </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> weather_users.keys():<br /> </span><span style="color: #008080;"> 47</span> <span style="color: #000000;">            self.city_all[key] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 48</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> key </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> myself_city_list:<br /> </span><span style="color: #008080;"> 49</span> <span style="color: #000000;">            self.city_all[key] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 50</span> <span style="color: #000000;">        <br /> </span><span style="color: #008080;"> 51</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">获取html</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 52</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> get_html(self):       <br /> </span><span style="color: #008080;"> 53</span> <span style="color: #000000;">        self.</span><span style="color: #800080;">__getCityToSend</span><span style="color: #000000;">();           <br /> </span><span style="color: #008080;"> 54</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> key </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> self.city_all.keys():<br /> </span><span style="color: #008080;"> 55</span> <span style="color: #000000;">            weatherUrl </span><span style="color: #000000;">=</span><span style="color: #000000;"> self.weatherBaseUrl </span><span style="color: #000000;">+</span><span style="color: #000000;"> city_codes[key]<br /> </span><span style="color: #008080;"> 56</span> <span style="color: #000000;">            req </span><span style="color: #000000;">=</span><span style="color: #000000;"> urllib2.Request(weatherUrl)<br /> </span><span style="color: #008080;"> 57</span> <span style="color: #000000;">            res </span><span style="color: #000000;">=</span><span style="color: #000000;"> urllib2.urlopen(req)<br /> </span><span style="color: #008080;"> 58</span> <span style="color: #000000;">            weather_content </span><span style="color: #000000;">=</span><span style="color: #000000;"> res.read()<br /> </span><span style="color: #008080;"> 59</span> <span style="color: #000000;">            res.close()<br /> </span><span style="color: #008080;"> 60</span> <span style="color: #000000;">            file_html </span><span style="color: #000000;">=</span><span style="color: #000000;"> open(city_codes[key] </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">.htm</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">w</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;"> 61</span> <span style="color: #000000;">            file_html.write(weather_content)<br /> </span><span style="color: #008080;"> 62</span> <span style="color: #000000;">            file_html.close()<br /> </span><span style="color: #008080;"> 63</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;"> 64</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">qo(h)无用信息</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 65</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> parse_html(self):<br /> </span><span style="color: #008080;"> 66</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> key </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> self.city_all.keys():<br /> </span><span style="color: #008080;"> 67</span> <span style="color: #000000;">            file_name </span><span style="color: #000000;">=</span><span style="color: #000000;"> city_codes[key] </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">.htm</span><span style="color: #800000;">'</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 68</span> <span style="color: #000000;">            <br /> </span><span style="color: #008080;"> 69</span> <span style="color: #000000;">            </span><span style="color: #008000;">#</span><span style="color: #008000;">获得信息所在行</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 70</span> <span style="color: #000000;">            cmd </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">cat %s.htm |grep -E \</span><span style="color: #800000;">'</span><span style="color: #000000;">ltl</span><span style="color: #000000;">|</span><span style="color: #000000;">forecastDay</span><span style="color: #000000;">|</span><span style="color: #000000;">temp\</span><span style="color: #800000;">'</span><span style="color: #800000;">|grep -v spanDate > %s.htm</span><span style="color: #800000;">'</span><span style="color: #000000;"> </span><span style="color: #000000;">%</span><span style="color: #000000;"> (city_codes[key],city_codes[key])<br /> </span><span style="color: #008080;"> 71</span> <span style="color: #000000;">            os.popen(cmd)<br /> </span><span style="color: #008080;"> 72</span> <span style="color: #000000;">            <br /> </span><span style="color: #008080;"> 73</span> <span style="color: #000000;">            </span><span style="color: #008000;">#</span><span style="color: #008000;">Lhtml代码</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 74</span> <span style="color: #000000;">            cmd </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">sed -i -e \</span><span style="color: #800000;">'</span><span style="color: #000000;">s</span><span style="color: #000000;">/<</span><span style="color: #000000;">[</span><span style="color: #000000;">^></span><span style="color: #000000;">]</span><span style="color: #000000;">*>//</span><span style="color: #000000;">g\</span><span style="color: #800000;">'</span><span style="color: #800000;"> %s.htm</span><span style="color: #800000;">'</span><span style="color: #000000;"> </span><span style="color: #000000;">%</span><span style="color: #000000;"> city_codes[key]<br /> </span><span style="color: #008080;"> 75</span> <span style="color: #000000;">            os.popen(cmd)<br /> </span><span style="color: #008080;"> 76</span> <span style="color: #000000;">            <br /> </span><span style="color: #008080;"> 77</span> <span style="color: #000000;">            </span><span style="color: #008000;">#</span><span style="color: #008000;">L不相兛_W?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 78</span> <span style="color: #000000;">            cmd </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">sed -i -e \</span><span style="color: #800000;">'</span><span style="color: #000000;">s</span><span style="color: #000000;">/&</span><span style="color: #000000;">deg;</span><span style="color: #000000;">/</span><span style="color: #000000;">°</span><span style="color: #000000;">/</span><span style="color: #000000;">g;s</span><span style="color: #000000;">/</span><span style="color: #000000;"> </span><span style="color: #000000;">//</span><span style="color: #000000;">g\</span><span style="color: #800000;">'</span><span style="color: #800000;"> %s.htm</span><span style="color: #800000;">'</span><span style="color: #000000;"> </span><span style="color: #000000;">%</span><span style="color: #000000;"> city_codes[key]<br /> </span><span style="color: #008080;"> 79</span> <span style="color: #000000;">            os.popen(cmd)<br /> </span><span style="color: #008080;"> 80</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;"> 81</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">Ҏ(gu)城市(jng)生成消息</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 82</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> </span><span style="color: #800080;">__generate_msg</span><span style="color: #000000;">(self,city_key):<br /> </span><span style="color: #008080;"> 83</span> <span style="color: #000000;">        </span><span style="color: #008000;">#</span><span style="color: #008000;">打开文g</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 84</span> <span style="color: #000000;">        file_html </span><span style="color: #000000;">=</span><span style="color: #000000;"> open(city_codes[city_key] </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">.htm</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;"> 85</span> <span style="color: #000000;">        <br /> </span><span style="color: #008080;"> 86</span> <span style="color: #000000;">        </span><span style="color: #008000;">#</span><span style="color: #008000;">d信息</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 87</span> <span style="color: #000000;">        weather_lines </span><span style="color: #000000;">=</span><span style="color: #000000;"> file_html.readlines()<br /> </span><span style="color: #008080;"> 88</span> <span style="color: #000000;">        file_html.close()<br /> </span><span style="color: #008080;"> 89</span> <span style="color: #000000;">        weather_content </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">''</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 90</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> line </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> weather_lines:<br /> </span><span style="color: #008080;"> 91</span> <span style="color: #000000;">            weather_content </span><span style="color: #000000;">=</span><span style="color: #000000;"> weather_content </span><span style="color: #000000;">+</span><span style="color: #000000;"> line.replace(</span><span style="color: #800000;">'</span><span style="color: #800000;">\r\n</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;"> </span><span style="color: #800000;">'</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;"> 92</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> weather_content<br /> </span><span style="color: #008080;"> 93</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;"> 94</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">d飞信  </span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 95</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> fetion_login(self, your_mobile_no, your_pwd):<br /> </span><span style="color: #008080;"> 96</span> <span style="color: #000000;">        self.libc </span><span style="color: #000000;">=</span><span style="color: #000000;"> ctypes.cdll.LoadLibrary(</span><span style="color: #800000;">'</span><span style="color: #800000;">/home/loh/weather/libfetion.so</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;"> 97</span> <span style="color: #000000;">        self.libc.fx_init()<br /> </span><span style="color: #008080;"> 98</span> <span style="color: #000000;">        self.libc.fs_login(your_mobile_no,your_pwd)<br /> </span><span style="color: #008080;"> 99</span> <span style="color: #000000;">        self.libc.fx_set_longsms(True)<br /> </span><span style="color: #008080;">100</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;">101</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">退出飞?nbsp; </span><span style="color: #008000;"><br /> </span><span style="color: #008080;">102</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> fetion_logout(self):<br /> </span><span style="color: #008080;">103</span> <span style="color: #000000;">        self.libc.fx_loginout()<br /> </span><span style="color: #008080;">104</span> <span style="color: #000000;">        self.libc.fx_terminate()<br /> </span><span style="color: #008080;">105</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;">106</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">l自己发信息</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">107</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> send_msg_to_myself(self):<br /> </span><span style="color: #008080;">108</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> city_key </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> myself_city_list:<br /> </span><span style="color: #008080;">109</span> <span style="color: #000000;">            msg </span><span style="color: #000000;">=</span><span style="color: #000000;"> self.</span><span style="color: #800080;">__generate_msg</span><span style="color: #000000;">(city_key)<br /> </span><span style="color: #008080;">110</span> <span style="color: #000000;">            self.libc.fs_send_sms_to_self(msg)<br /> </span><span style="color: #008080;">111</span> <span style="color: #000000;">      <br /> </span><span style="color: #008080;">112</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">l用户发信息      </span><span style="color: #008000;"><br /> </span><span style="color: #008080;">113</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> send_msg(self):<br /> </span><span style="color: #008080;">114</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> city_key </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> weather_users.keys():<br /> </span><span style="color: #008080;">115</span> <span style="color: #000000;">            msg </span><span style="color: #000000;">=</span><span style="color: #000000;"> self.</span><span style="color: #800080;">__generate_msg</span><span style="color: #000000;">(city_key)<br /> </span><span style="color: #008080;">116</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> user </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> weather_users[city_key]:<br /> </span><span style="color: #008080;">117</span> <span style="color: #000000;">                self.libc.fs_send_sms_by_mobile_no(user,msg)<br /> </span><span style="color: #008080;">118</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;">119</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">l用户发送欢q信?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;">120</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> send_welcome_msg(self, msg):<br /> </span><span style="color: #008080;">121</span> <span style="color: #000000;">        user_all </span><span style="color: #000000;">=</span><span style="color: #000000;"> {}<br /> </span><span style="color: #008080;">122</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> user_list </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> weather_users.values():<br /> </span><span style="color: #008080;">123</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> user </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> user_list:<br /> </span><span style="color: #008080;">124</span> <span style="color: #000000;">                user_all[user] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;"><br /> </span><span style="color: #008080;">125</span> <span style="color: #000000;">        <br /> </span><span style="color: #008080;">126</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> user </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> user_all.keys():<br /> </span><span style="color: #008080;">127</span> <span style="color: #000000;">            self.libc.fs_send_sms_by_mobile_no(user,msg)<br /> </span><span style="color: #008080;">128</span> <span style="color: #000000;">                <br /> </span><span style="color: #008080;">129</span> <span style="color: #000000;">                <br /> </span><span style="color: #008080;">130</span> <span style="color: #0000ff;">if</span><span style="color: #000000;"> </span><span style="color: #800080;">__name__</span><span style="color: #000000;"> </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">__main__</span><span style="color: #800000;">'</span><span style="color: #000000;">:<br /> </span><span style="color: #008080;">131</span> <span style="color: #000000;">    weather </span><span style="color: #000000;">=</span><span style="color: #000000;"> weather()<br /> </span><span style="color: #008080;">132</span> <span style="color: #000000;">    weather.get_html()<br /> </span><span style="color: #008080;">133</span> <span style="color: #000000;">    weather.parse_html()<br /> </span><span style="color: #008080;">134</span> <span style="color: #000000;">    weather.fetion_login(</span><span style="color: #800000;">'</span><span style="color: #800000;">136*******3</span><span style="color: #800000;">'</span><span style="color: #000000;">, </span><span style="color: #800000;">'</span><span style="color: #800000;">password</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;">135</span> <span style="color: #000000;">    weather.send_msg_to_myself()<br /> </span><span style="color: #008080;">136</span> <span style="color: #000000;">    weather.send_msg()<br /> </span><span style="color: #008080;">137</span> <span style="color: #000000;">    </span><span style="color: #008000;">#</span><span style="color: #008000;">weather.send_welcome_msg('(zhn)好Q天气预报全U升U,支持国内所有城?jng)以及(qing)国外主要大城?jng)Q此外?zhn)q可以定制多个城?)</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">138</span> <span style="color: #000000;">    weather.fetion_logout()<br /> </span><span style="color: #008080;">139</span> <span style="color: #000000;">    weather.clear_html()       <br /> </span></div> <br /> <br /> ~写脚本和Q务计?br /> ~写脚本Q?br /> vim weather<br /> 写入以下内容<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #000000;">cd </span><span style="color: #000000;">/</span><span style="color: #000000;">home</span><span style="color: #000000;">/</span><span style="color: #000000;">loh</span><span style="color: #000000;">/</span><span style="color: #000000;">weather</span><span style="color: #008000;">#</span><span style="color: #008000;">你的脚本所在目?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">python weather.py<br /> </span></div> chmod +x weather<br /> <br /> d计划Q?br /> crontab -e<br /> 写入以下内容Q每天早??分执行脚本)(j)<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #008000;">#</span><span style="color: #008000;"> m h  dom mon dow   command</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">1</span><span style="color: #000000;">  </span><span style="color: #000000;">7</span><span style="color: #000000;">  </span><span style="color: #000000;">*</span><span style="color: #000000;">  </span><span style="color: #000000;">*</span><span style="color: #000000;">  </span><span style="color: #000000;">*</span><span style="color: #000000;">  </span><span style="color: #000000;">/</span><span style="color: #000000;">home</span><span style="color: #000000;">/</span><span style="color: #000000;">loh</span><span style="color: #000000;">/</span><span style="color: #000000;">weather</span><span style="color: #000000;">/</span><span style="color: #000000;">weather<br /> </span></div> <br /> 天气预报内容是这L(fng)Q?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">天| ?nbsp;9.3°C 感觉8°C 风力?U?nbsp;湿度60% 今天晴{?nbsp;9/2°C 明天雾{多云 9/0°C</span></div> <br /> <br /> <img src ="http://www.aygfsteel.com/canvas/aggbug/303341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canvas/" target="_blank">Barrie</a> 2009-11-23 14:56 <a href="http://www.aygfsteel.com/canvas/articles/libfetion.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Openlayers搭一个E校园(e-campus),cMe都市(jng)Q?d校园http://www.aygfsteel.com/canvas/articles/e-campus.htmlBarrieBarrieFri, 10 Jul 2009 16:57:00 GMThttp://www.aygfsteel.com/canvas/articles/e-campus.htmlhttp://www.aygfsteel.com/canvas/comments/286308.htmlhttp://www.aygfsteel.com/canvas/articles/e-campus.html#Feedback17http://www.aygfsteel.com/canvas/comments/commentRss/286308.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/286308.html 快回家了(jin)Q做点记录,Ƣ迎拍砖指正?br /> 新生应该可以在录取通知书里看到q个地图的链接了(jin)^_^
刚开始做q个地图的时候,打算使用geoserver{专业的东西Q时间太紧了(jin)Q对GIS一点了(jin)解都没有Q所以就攑ּ?jin)。看C(jin)6D校园和e都市(jng)的实现方案,找了(jin)一找,发现?jin)mapeasyq个js库,于是?D校园的地囑֛片下载下来了(jin)Q自p着用mapeasy实现?jin)一下,效果很好Q但是L觉不对劲Q像6D校园和e都市(jng)都是使用html map area来标注地图信息的Q这样就与真正的地理信息pȝ差远?jin),不好快速的d信息或者做路径搜烦(ch)?jin),于是又不是很满意。在使用geoserver的时候,注意到它昄地图信息使用?jin)openlayersQ于是简单看?jin)一下openlayers的例子,感觉很强大,也比较符合我的想法?br /> openlayers可以直接使用囄做地囄来源Q然后直接编辑地图,d地图的地理信息,包括点,U,多边形区域,q样很Ҏ(gu)做\径搜索,也很快速容易添加地囄地理信息?jin)?br /> 看到openlayers可以使用tilecache做地囄囄来源Q我搭Z(jin)tilecache服务器,q个tilecache是用python写的Q很Ҏ(gu)配置。我仔细看了(jin)一下tilecache的配|,发现q个完全可以直接使用囄可以,只是把切好的囄按照titlecache的目录结构放|好Q就行了(jin)。于是简单的修改?jin)一下openlayers的tilecache接口Q就基本实现?jin)?sh)子地图。地囑֎图是一个面U很大图片,我用PIL库,使用python写了(jin)一个简单的切图E序Q把地图按照横纵坐标切成?56X256大小的图片,q且按照自己定制tilecache的目录结构存好图片,最后把q些囄攑֜apache http服务器下Q用openlayers直接d卛_?br /> 最后实现的功能有:(x)地图览Q地囄略展C,地面建筑标记Q地面徏{提C,路线标记Q快速定位,后台d信息{?路径搜烦(ch)暂未实现)
其中后台可以直接d建筑的多边Ş、\Uѝ点标记Q然后添加信?br />




后台理面如下Q?br />


Barrie 2009-07-11 00:57 发表评论
]]>
appengine支持Java?/title><link>http://www.aygfsteel.com/canvas/articles/AppEngineJavaOverview.html</link><dc:creator>Barrie</dc:creator><author>Barrie</author><pubDate>Wed, 08 Apr 2009 06:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/canvas/articles/AppEngineJavaOverview.html</guid><wfw:comment>http://www.aygfsteel.com/canvas/comments/264452.html</wfw:comment><comments>http://www.aygfsteel.com/canvas/articles/AppEngineJavaOverview.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canvas/comments/commentRss/264452.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canvas/services/trackbacks/264452.html</trackback:ping><description><![CDATA[刚刚dappengine的时候才发现开始支持java?jin)?br /> 上午的时候还没有?br /> <br /> 对java的比较熟(zhn),但是q是喜欢比较z的python<br /> <br /> <a >http://code.google.com/intl/zh-CN/appengine/docs/java/overview.html</a><br /> <br /> <a >http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html</a><br /> <br /> q是注册试用后google appenginel发的邮?<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">Hello</span><span style="color: #000000;">,</span><span style="color: #000000;"><br /> <br /> Thanks for signing up to try Google App Engine for Java!  Your account has now<br /> been activated</span><span style="color: #000000;">,</span><span style="color: #000000;"> so you can begin building applications with our new Java<br /> runtime.<br /> <br /> Please note that this is still an early look at our support for the Java<br /> language and you may encounter issues during development. We look forward to<br /> hearing your feedback! To learn more</span><span style="color: #000000;">,</span><span style="color: #000000;"> please visit:<br /> <br /> http://code.google.com/appengine/docs/java/overview.html<br /> <br /> To start creating applications with Google App Engine</span><span style="color: #000000;">,</span><span style="color: #000000;"> simply follow this link<br /> (you may need to sign in with your burgundy.loh@gmail.com Google Account) and<br /> verify your account with a mobile phone number if you have not already done so:<br /> <br /> http://appengine.google.com/<br /> <br /> If you are having trouble verifying your account via SMS please fill<br /> out the following form and your account will be reviewed and enabled<br /> as soon as possible:<br /> <br /> http://appengine.google.com/waitlist/sms_issues<br /> <br /> Thanks!<br /> The Google App Engine Team<br /> <br /> Java is a registered trademark of Sun Microsystems</span><span style="color: #000000;">,</span><span style="color: #000000;"> Inc.</span></div> <br /> <br /> <br /> <img src ="http://www.aygfsteel.com/canvas/aggbug/264452.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canvas/" target="_blank">Barrie</a> 2009-04-08 14:40 <a href="http://www.aygfsteel.com/canvas/articles/AppEngineJavaOverview.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>初识pythonhttp://www.aygfsteel.com/canvas/articles/python-start.htmlBarrieBarrieWed, 25 Mar 2009 01:02:00 GMThttp://www.aygfsteel.com/canvas/articles/python-start.htmlhttp://www.aygfsteel.com/canvas/comments/261779.htmlhttp://www.aygfsteel.com/canvas/articles/python-start.html#Feedback0http://www.aygfsteel.com/canvas/comments/commentRss/261779.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/261779.html Programming is fun
When the work is done
if you wanna make your work also fun:
    use Python!

 1 #!/usr/bin/env python
 2 #coding=utf-8
 3 poem = '''\
 4 Programming is fun
 5 When the work is done
 6 if you wanna make your work also fun:
 7     use Python!
 8 '''
 9 
10 = file('c:\\poem.txt','w')
11 f.write(poem)
12 f.close()

哇,下面q段真是解释性的脚本语言的魅力啊Q动态生成语句,然后直接解释执行Q太灉|?br />
1 #!/usr/bin/env python
2 #coding=utf-8
3 stm = 'a = 10'
4 exec(stm)
5 print a

直接输出?jin)a的?0

q有Q更厉害的是可以l对象动态的d属性,不知道这么理解对不对

 1 #!/usr/bin/env python
 2 #coding=utf-8
 3 class Person:
 4     def __init__(self, tel, mobile, email, address, **elseInfo):
 5         self.tel = tel
 6         self.mobile = mobile
 7         self.email = email
 8         self.address = address
 9         
10         for key, value in elseInfo.items():
11             stm = "self.%s = \"%s\"" % (key, value)
12             exec(stm)
13 
14 loh = Person('2*******3','1368****533','elgnaw(at)tju.edu.cn','Tianjin University',email2 = 'burgundy.loh(at)gmail.com',mobile2 = '136*****211')
15 
16 print loh.email
17 print loh.email2
18 print dir(loh)
19 

输出?br />
elgnaw(at)tju.edu.cn
burgundy.loh(at)gmail.com
['__doc__', '__init__', '__module__', 'address', 'email', 'email2', 'mobile', 'mobile2', 'tel']

q里是python的教E:(x)?Python 教程
也开始你的python之\?br />

Barrie 2009-03-25 09:02 发表评论
]]>
中国各城?jng)的l纬度数?_到县U城?http://www.aygfsteel.com/canvas/articles/GS-China.htmlBarrieBarrieThu, 12 Mar 2009 12:34:00 GMThttp://www.aygfsteel.com/canvas/articles/GS-China.htmlhttp://www.aygfsteel.com/canvas/comments/259355.htmlhttp://www.aygfsteel.com/canvas/articles/GS-China.html#Feedback3http://www.aygfsteel.com/canvas/comments/commentRss/259355.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/259355.htmll北有斗-天文爱好者的乐园
~写q篇博文有几个目的:(x)
首先认识?jin)两个单?br />
latitude  [lat·i·tude || 'lætɪtuːd /-tjuːd] n.  U度; 回旋余地, 自由; U度地区
longitude  [lon·gi·tude || 'lɑndʒɪtuːd /'lɒndʒɪtjuːd] n.  l度; l线

1.学习(fn)dom4j的简单用?br /> 2.做一个方便用的全国城市(jng)l纬度数据库
3.利用google天气api做一个全面的天气预报服务
4.学习(fn)用python~写webservice

内容Q?br /> 1.学习(fn)dom4j的简单用?br /> 攉?jin)的l纬度都是按照城?jng)分开的单独的htm文gQ我已经处理qؓ(f)W合html4.0标准的html文g?jin),x有的标识都是成对的,q里可以下蝲q些文g(点击下蝲l纬度html?
(1)如何使用dom4jdxml文档
使用dom4jdxml文档代码片段

(2)如何遍历xml文档的所有结?br /> q样p入了(jin)q个xml文档Qƈ获得?jin)这个xml文档对象的根l点Q由于xml文档是一个树(wi)形结构,q样很Ҏ(gu)遍历它所有的l点?jin)?br /> q里Ҏ(gu)自己的需要,试使用?jin)两U遍历方法,一U是Ҏ(gu)?wi)的l构~写递归E序Q一U就是直接用@环,q有都dom4j自带的visitor模式讉K也很好用Q这里有参考文档,可以看看(查看)

使用递归遍历

q里提供的xml文档层数?Q直接@环即?br />
直接循环遍历

关于visitor模式的用,请参看上面给出的参考文?br />
(3)创徏新的xml文档
创徏xml文档

整个合ƈ所有htmlؓ(f)一个xml的代码如?br />
完整的代?/span>

2.做一个方便用的全国城市(jng)l纬度数据库
l过上面的操作,一个完整的全国城市(jng)l纬度数据库做好了(jin)Q只不过它是xml格式的,看v来还不错Q?a title="下蝲q个数据? href="/Files/canvas/GI-China.zip">下蝲q个数据?/a>
生成的xml展示

3.利用google天气api做一个全面的天气预报服务
google提供的天气api可以有两U方式访问,
一U是
     http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996
30670000为纬度,104019996为经度,q个是把上面的xml中的l纬度乘以了(jin)10^6(10的六ơ方)Q这个方法有个好处,是可以Ҏ(gu)l纬度获得天气预报,自然预报地区也可变得_?br /> 另一U是
     http://www.google.com/ig/api?weather=Beijing
q个链接比较单,但是支持的城?jng)比较少Q所以还是用第一U方式比较好Q于是才整理好了(jin)所有城?jng)的l纬?br />
讉K上面的链接,googleq回的xml内容看v来是q样?br />
googleq回的xml

对于q回的xml中的<icon data="/images/weather/cn_cloudy.gif"/>Q可以这h造链接获取google提供的图?br /> 取其中的cn_cloudy.gifQ然后放在http://www.google.cn/ig/images/weather/之后Q生成的链接?br />      http://www.google.cn/ig/images/weather/cn_cloudy.png
q样q个天气api基本构思好?br />
4.学习(fn)用python~写webservice(待箋……)
这个服务编写ؓ(f)一个webserviceQ决定用pythondQ所以要学习(fn)一下python?br />



Barrie 2009-03-12 20:34 发表评论
]]>
վ֩ģ壺 ʱ| | | ʡ| | ˳| | | ݳ| Ϫ| | ƾ| ϲ| | Զ| ɽ| | | | ƽ| | Ϸ| ˫| ӳ| | Ӳ| ƽ| Ϫ| ƽ| ־| ɽ| ʻ| | ƽ| | ɽ| | ˮ| | | Ž|