??xml version="1.0" encoding="utf-8" standalone="yes"?> 与佛问答 天下名山寺占l?/p>
明理者概? 施型者概?/p>
a者无? 闻者? 好妙l? ----------------------------------------------- 与佛问答 我问佛∶Z不给所有女子羞花闭月容颜? 佛曰∉只是昙花一玎ͼ用来蒙蔽世俗的眼Q?没有什麽美可以抵过一颗纯净仁爱的心Q?我把它赐l每一个女子,可有她蒙上了? 我问佛∶世间Z有那麽多遗憾Q? 佛曰∶这是一个婆娑世界,婆娑既遗憾, 没有遗憾Q给你再多幸也不会体会快乐 ? 我问佛∶如何让h们的心不再感到孤单? 佛曰∶每一颗心生来是孤单而残~的Q?多数带著q种D缺度过一生, 只因与能使它圆满的另一半相遇时Q?不是疏忽错过是已失L有它的资?? 我问佛∶如果遇到了可以爱的hQ却又怕不能把握怎麽? 佛曰∶留人间多少爱,qQ世千重变Q?和有情hQ做快乐事, 别问是劫是缘? 我问佛∶如何才能如你般睿智? 佛曰∶佛是过来hQh是未来佛Q?我也曑֦你般天真 ?br />
前两天在某h的Blog里面看到q样的{载,每闲来打开读Q总觉心驰静Q真真是Q?
世上妙语佛说?
]]>
MMQ菩萨!您大慈大Ԍh告诉我,我什么时候才能找到老公Q?br />
菩萨Q天Z可泄Ԍ冥中自有定数Q?br />
MMQ靠Q您q不是废话吗Q?br />
菩萨Q呸Q我要知道我q出Ӟ
MMQ斗战胜佛,您当初ؓ什么选择保唐僧取l?
孙悟I:q不是ؓ了搞到学历!
MMQ学历真的那么重要?
孙悟I:我一个在五指׃服刑的流氓,现在成了斗战胜佛Q你说重要不Q?br />
MMQ女娲娘娘!您ؓ什么造hQ?br />
奛_Q天漏了Q我好不Ҏ补上Q不造些人,我找谁收l修费去Q?br />
MMQ那您ؓ什么把人分Q?br />
奛_Q我本n不男不女Q我想知道男和女哪个厉害些?
MMQ结果呢Q?br />
奛_Q我又补了一回天Q?br />
MMQ后!您当qؓ什么射日?
后羿Q有Z?br />
MMQؓ什么留下一个?
后羿Q他们只付了九个的钱Q?br />
MMQؓ什么单单留下这个?
后羿Q就是它付的钱!
MMQ织奻IZ么下嫁给董永Q?br />
l女Qؓ了爱情!
MMQ单单是q个原因Q?br />
l女Q这。。。。。?br />
MMQ还因ؓ别的什么?
l女Q他有房子!
MMQ净坛者!你ؓ什么喜Ƣ嫦娥?
猪八戒:Ҏ?br />
MMQ那现在Z么不和她来往Q?br />
猪八戒:老子现在是公务员
q是XHTML的基本结构,其命名为index.htmQ另一个记事本文则命名ؓcss.css?/font>
下面Q我们在<body></body>标签对中写入DIV的基本结构,代码如下Q?/font>
<div id="container">[color=#aaaaaa]<!--面层容?->[/color]
<div id="Header">[color=#aaaaaa]<!--面头部-->[/color]
</div>
<div id="PageBody">[color=#aaaaaa]<!--面M-->[/color]
<div id="Sidebar">[color=#aaaaaa]<!--侧边?->[/color]
</div>
<div id="MainBody">[color=#aaaaaa]<!--M内容-->[/color]
</div>
</div>
<div id="Footer">[color=#aaaaaa]<!--面底部-->[/color]
</div>
</div>
Z使以后阅M码更易,我们应该d相关注释Q接下来打开css.css文gQ写入CSS信息Q代码如下:
/*基本信息*/
body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;}
/*面层容?/
#container {width:100%}
/*面头部*/
#Header {width:800px;margin:0 auto;height:100px;background:#FFCC99}
/*面M*/
#PageBody {width:800px;margin:0 auto;height:400px;background:#CCFF00}
/*面底部*/
#Footer {width:800px;margin:0 auto;height:50px;background:#00FFFF}
把以上文件保存,用浏览器打开Q这时我们已l可以看到基l构了,q个是面的框架了?/font>
关于以上CSS的说明(详细请参考CSS2.0中文手册Q网上有下蝲Q:
1、请L良好的注释习惯,q是非常重要的;
2、body是一个HTML元素Q页面中所有的内容都应该写在这标签对之内,我就不多说了Q?/font>
3、讲解一些常用的CSS代码的含义:
font:12px TahomaQ?br /> q里使用了羃写,完整的代码应该是Qfont-size:12px;font-family:TahomaQ说明字体ؓ12像素大小Q字体ؓTahoma格式Q?/font>
margin:0pxQ?br /> 也用了~写Q完整的应该是:
margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px
?br />
margin:0px 0px 0px 0px
序??/ ?/ ?/ 左,你也可以书写为margin:0(~写)Q?br /> 以上样式说明body部分对上右下左边距ؓ0像素Q如果用auto则是自动调整边距Q?/font>
另外q有以下几种写法Q?br /> margin:0px autoQ?br /> 说明上下边距?pxQ左右ؓ自动调整Q?br /> 我们以后用到的padding属性和margin有许多相g处,他们的参数是一LQ?br /> 只不q各自表C的含义不相同,margin是外部距,而padding则是内部距离?/font>
text-align:center
文字寚w方式Q可以设|ؓ左、右、中Q这里我它讄为居中对齐?/font>
background:#FFF
讄背景色ؓ白色Q这里颜色用了~写Q完整的应该是background:#FFFFFF?br />
background可以用来l指定的层填充背景色、背景图片,以后我们用到如下格式:
background:#ccc url('bg.gif') top left no-repeatQ?br />
表示Q?CCC(灰度?填充整个层,使用bg.gif做ؓ背景囄Q?br />
top left
表示囄位于当前层的左上端,no-repeat表示仅显C图片大而不填充满整个层?br />
top/right/left/bottom/center
用于定位背景囄Q分别表C??/ ?/ ?/ ?/ 中;q可以?br />
background:url('bg.gif') 20px 100px;
表示X座标?0像素QY座标?00像素的精定位;
repeat/no-repeat/repeat-x/repeat-y
分别表示 填充满整个层 / 不填?/ 沿X轴填?/ 沿Y轴填充?/font>
height / width / color
分别表示高度(px)、宽?px)、字体颜?HTML色系??/font>
4、如何ə面居中Q?/font>
大家代码保存后可以看到Q整个页面是居中昄的,那么I竟是什么原因得页面居中显C呢Q?br />
是因为我们在#container中用了以下属性:
margin:0 auto;
按照前面的说明,可以知道Q表CZ下边距ؓ0Q左右ؓ自动Q因此该层就会自动居中了?br />
如果要让面居左Q则取消掉auto值就可以了,因ؓ默认是居左昄的?br />
通过margin:auto我们可以轻易地使层自动居中了?/font>
5、这里我只介l这些常用的CSS属性了Q其他的请参看CSS2.0中文手册?/font>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文?lt;/title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
</body>
</html>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/SmartTony/archive/2007/12/17/1944177.aspx
于是Q一场关于情感、恋爱、婚ȝl济学即兴问{拉开序幕。ؓ便于阅读Q我她的提问逐条~号?
先是奛_的自我介l:“我今q?8岁,我和我的h友是同班同学Q毕业于长春机电学院。几q前我和他一同来到杭州找工作Q我的工作比较理惻I在一家电表厂做设计,他的工作不太好,于是我鼓׃去考研。考取后,我供了他三年Q没想现在他快毕业了Q居然提分手。后来,我才搞清楚,他在|上谈了一个刚大学毕业的女孩。我真的很痛苦,没想到几q的情感和心血付诸东流Q?#8230;…”
一?#8220;我想问你Qؓ什么男人L那么花心Q经学能解释这个问题吗Q?#8221;
“用经学的理论,很容易解释这个问题,那就是边际效用递减。什么是辚w效用递减呢?是说一样东西当你拥有得多的时候,对你的作用就小。比方说Q你饿了Q吃W一个包子特香,W二个很香,W三个还可以Q第四个׃Q第五个吃不下,W六个看见都烦!也就是说W六个包子的作用为零甚至。边际效用递减Q是l济学的公理Q是整个微观l济学的支柱之一。由于边际效用递减Q从现在恋爱的角度看Q由于你们长旉的亲密接触,你的效用比不上那个网上的奛_Q我本想_你就是那W六个包子,而那个女孩却是第一个包子,然而,话到嘴边又吞了回去)。这也是许多的男Zؓ什么家有美貌如qdQ却要在茶酒吧L姐的经学理由?#8221;
二?#8220;既然辚w效用递减是公理,那么Z么花心的女h却比较少Q我惌的是Qؓ什么很听说女心而不断去扄人故事?假定辚w效用递减成立的话Q那么女Z应该不断地在外面扄人养情夫Q可是实际上q样的故事比较少Q?#8221;奛_昑־有些不太服气?
“花心的男人应该和花心的女Z样多Q一个花心的男h必定要找一个花心女人。假定花心的男h没有花心的女人相呼应Q那么男人又到哪里去花心Q准地_应该是结了婚的女Z花心的比较少Q但qƈ不等于说Q边际效用递减在结了婚的女n上不起作用。结了婚的女人在内心深处未必没有喜欢更英俊更q轻更富有男性的念头Q只是一般她们不会采取采p动,q里的道理可以用l济学的成本收益Ҏ来分析?#8221;
“成本收益ҎQ像会计一栯成品的利润率Q?#8221;奛_有些疑惑?
“在经学的假设中Qh都是理性的Qh们采取一行动都要在心里盘算g倹{假如说收益大于成本Q这L才值得考虑dQ假如成本大于收益,那是无论如何不会d的!从我们的日常观察中可以看刎ͼ已婚男h花心Q相对于已婚女h其成本是比较低廉的,最多是花几个小钱,很少有妻子因Z夫花心而坚册d的,外界甚至q会慕他的艳遇与能qӀ就是要离婚,男h也许正好水推舟Q说不定找个更年L亮的Q假定已婚女子有U杏出墙打算Q心中必定会做一番权衡:q样做g|一般来_已婚奛_花心一旦被发现Q其成本是非帔R昂的。对大部分男人(包括很花心的男hQ来_戴绿帽子是无论如何不能忍受的Q离婚是必然的选择Q而离婚女子在现在的世俗眼里,名声肯定又是不好的;要想再找对象Q也很难再找C自己q龄总男hQ一般只能找比自己大得多的男人,q在心理上又很难接受Q如果是l济不独立的奛_Q离婚后的生zd~少了经来源;q有对子女的牉|Q又使女人多了一分负担。正是因为已婚女子红杏出墙的成本q大于收益,所以尽有辚w效用递减的公理存在,但她们仍然会做出坚决不红杏出墙的理性选择。有一U现象可以反衬我解释的合理性,你看Q花心的男h一般找的二奶、情人大都是q离家乡的未婚女孩子?#8221;
三、女子神情愤怒:“可是他也太不讲道德了Q毕业之前他吃我的用我的Q现在快毕业了却和我分手Q是不是也太市侩了?他要是三q前提出分手Q我q没有这么难q,现在我是两空Q?#8221;
“l济学一般ƈ不研IP因ؓ道d要求的是多ؓ他h着惻I而经学理论的前提却人都是自利的。假定一个h要散钱财,甘愿贫困潦倒,落街头Q这用经学是没法解释的Q也u理学、心理学或者哲学可以解释这个问题。不q,l济学可以解释他Z么三q前不提出分手,临近毕业却坚册分手Q?#8221;
奛_似懂非懂地点了点Q让我接着说?
“l济学认为,人在U束条g下都是追求利益最大化的。大学时期与你谈恋爱Q那个时候生zd本无忧,q求Ȁ情就是恋爱利益的最大化Q三q读研之中,你们之间Ȁ情已l没有了Q但是此时他心中的最大利益是Z获取文凭以便日后能找个好工作Q此Ӟ如果和你一刀两断Q经来源就没有了,请问他怎么能把书读完?现在他͘q毕业开始实习了Q他对自q前途已l充满了信心Q更不象当初那样急迫地等着qQ于是,q青漂亮而充满激情又成了他恋爱利益的最大化?#8221;
四?#8220;……我当初只是想Q如果他能读个研I生毕业Q我们今后一家h的生zM更好些,没想到现在竹打水一场空Q?#8221;奛_无可奈何地叹了一口气?
“q说明你在决定供他读研之前,忘记了经学的一条基本原则?#8221;
“什么原则?”
“收益高Q风险越大!你当时只看到了供他读研毕业后的收益,却没有看Cȝ毕业后的风险。一般来_收益高的事情,意味着风险也越大。假定你找个拉黄包R的,风险基本没有Q他不会与你dQ甚臛_你百依百,但是收益也很,家庭的经来源肯定要以你ZQ你带出d加应酬也会觉得很没面子;假定你找了李泽楷QhU至王老五Q收益肯定会很高Q比如说l你一W钱或者婚C绝对很风光Q但是离婚的可能性也许是癑ֈ百!因ؓ像李泽楷q样的稀~源是每个女h都喜Ƣ的Q?#8221;
五?#8220;那有什么办法可以控刉险呢Q?#8221;奛_急切地问道?
“有哇Q打l婚证哪Q我个h认ؓQ结婚与理想中的爱情是没有多大关pȝQ?#8216;问世间情Z物,直教人生ȝ许!’如果按照大家都认可的q句话来理解Q爱情就是ؓ他(她)生ؓ他(她)歅R也是_如果他爱你,Z生ؓ他死都|如果他不׃Q你׃定会d他的Q因Zzȝ的目的就是ؓ了他Q没有结婚证岂不更方便!然而,人类却要设计一个结婚登记制度,Z么?其实Q结婚证是婚姻当事Zp的护nW。如果当初你和他领了l婚证,他现在要分手没那么Ҏ了,或者说成本大得多。首先,婚姻法规定,夫妻d有过错的一方要Ҏq错的一方进行经补偿;其次Q他会面Ҏ多的舆论谴责和心理压力;再次Q他今后在社会上的Ş象就是一个离q婚的男人,L未婚的纯真少q要差;最后,如果你们有了孩子Q那有了共同的利益Q离婚就意味着他要攑ּ血脉亲情?#8221;
六?#8220;q一条方法现在恐怕是来不及了Q?#8230;…我全部的希望都寄托在他的w上Q没惛_全部落空了,真是希望大Q失望越大!我现在感觉到天都塌下来了Q?#8221;奛_很有感慨?
“希望大Q失望也大Q其实也是符合经学道理的。经学有一个公式:q福=效用/期望倹{一般来_同样的事物效用大致是相当的,但是期望D高,则幸感少。D个例子:假定我和乞丐都捡C1元钱Q?元钱的作用对两h来说是一LQ比方说可以C白c饭。但是,我现在的期望是去国夏威夷去度假Q需?0万元Q?除以10万,l果我的q福感是十万分之一Q而乞丐的期望值是今天能够吃碗白米饭,1除以1Q结果他的幸感?00%。你把全部的希望都寄托在他的w上Q也是期望D似无I大Q而现在他却要和你吹,效用接近于零Q分母无I大Q分子接q零Q那q福感当然就没有了。所?一开始对男友期望g高的人,分手时痛苦也׃多?#8221;
七?#8220;我现在应该怎么办?”
“你现在对qg事的感觉何如Q?#8221;
“痛不Ʋ生Q?#8221;
“那就再去找找他,动之以情或许q有挽救哇?”
“他现在的还是在犹UQ而且他的家h也在l他施加压力Q可是我也不惛_ZQ万一他勉强和我结婚,婚后他却Ҏ不好Q我岂不是更痛苦Q?#8221;
“从经学的角度来看,你还是应该去的?#8221;
“Z么?”
“假如你给老板做完了一份设计,报酬?0万元Q但付酬方式有两U可供你选择。一U是一ơ性付10万,另一U是付你15万,但却要分15q给Q你选哪一U?”
奛_很快抢答Q?#8220;我选第一U?#8221;
“Z么呢Q?#8221;我反问?
“因ؓ未来的不定因素太多Q天知道几年后这个钱q有没有Q再_到那个时候,׃不值钱了!”
“你说得很对!现在的钱比未来的钱更值钱Q那么同L道理Q现在的痛苦比未来的痛苦更痛苦。因为,未来的不定因素太多Q也许没有了痛苦Q也许比现在的痛苦要轻,但现在的痛苦却是实实在在的。再退一步说Q就你不与他结婚,你又能肯定能扑ֈ一个对你绝对真心的人?你们俩毕竟有很深的感情基Q就q样攑ּ了也实在可惜Q也许结了婚Q特别是有了孩子Q你们也许能够过上幸生zȝQ你看很多电视电׃都有怼的情节,当初的恋人都后悔一时气D断l了关系Q以臛_后又后悔莫及Q旧情重l?#8221;
八?#8220;万一勉强l了婚,婚后他又Ҏ不好呢?”
“那就又回C前面的原则:收益高Q风险越高。你既然惌得高收益Q就必须面对高风险,此事不可能有两全ҎQ?#8221;
“我明白了Q杭州我׃下了Q直接去上v找他?#8221;奛_g是大d悟!
……
ơ日清晨QR抵上P我们怺道别。望着她的背媄Q心里沉思:不知昨夜的婚恋经学理论是否真的能拨开她心中的q雾Q又惻I如果能让更多的少男少x得一些婚恋中l济学的道理Q或许在恋爱婚嫁的过E中p走一些弯路!于是Q回到家中,整理思AQ奋W疾书,遂成此文?
计划框架建立?Java 定时器框架类的基之上。因此,在解释如何用计划框架以及如何实现它之前Q我们将首先看看如何用这些类q行计划?/font>
惛_一个煮蛋计时器Q在数分钟之后(q时蛋煮好了Q它会发出声x醒您。清?1 中的代码构成了一个简单的煮蛋计时器的基本l构Q它?Java 语言~写Q?/font>
清单 1. EggTimer c?/p>
package org.tiling.scheduling.examples;
import java.util.Timer;
import java.util.TimerTask;
public class EggTimer {
private final Timer timer = new Timer();
private final int minutes;
public EggTimer(int minutes) {
this.minutes = minutes;
}
public void start() {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println("Your egg is ready!");
// Start a new thread to play a sound...
}
}, minutes * 60 * 1000);
}
public static void main(String[] args) {
EggTimer eggTimer = new EggTimer(2);
eggTimer.start();
}
}
EggTimer 实例拥有一?Timer 实例Q用于提供必要的计划。用 start() Ҏ启动煮蛋计时器后Q它p划了一?TimerTaskQ在指定的分钟数之后执行。时间到了,Timer 在后台调用 TimerTask ?start() ҎQ这会它发出声韟뀂在取消计时器后q个应用E序׃中止?/p>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/cxhzqhzq/archive/2008/12/30/3645423.aspx
计算机出C后,U学家相l开发了多种语言Q从smalltalkQPascalQBasicQC语言QC++Qjava,.net{等Q这些语a的发展步伐,可以看作是从面向q程向面向对象发展的一D历双Ӏ很多面向对象的书在介绍自己的历史的时候,都会l读者介l这一D历Ԍq吹OO~程是多么多么的优异。问题是Q很多刚开始学E序的hҎ不知道ؓ什么要有这个{变,他们也很隄解OO语言中的虚函敎ͼ接口{概念到底ؓ了什么而提出来?/font>
我们在了解这一D历史以前,首先l大家介l一个概念—?#8220;_度”Q什么是_度Q作者认为所谓粒度其实就是一个程序中使用代码单元的组合尺度,我们可以举一个例子,沙砾——砖块——房屋模板,我们设想MZ座房子,其实有很多中修筑ҎQ如果你不闲ȝQ可以用沙砾一点点地徏{,或者将沙砾烧制为砖块,用砖块来砌,甚至直接从工厂购买房屋的门,H,墙组件来堆砌。这三种不同的方法代表了三种不同的组合尺度。沙砾是最的单位Q用它搭徏的房子说不定还可以Q但是毫无疑问,我们必须使用很多很多“沙砾”Q不便于理Q砖块比沙砾聚合了一层,可以用来修徏较大的房子了Q房屋模板是最高的寸Q用它可以快速地搭徏大规模的房屋。这三种度的区别和联系Q与我们~写E序概念是有很大的相g处的?/font>
在早期学习PascalQ老师告诉我们q种面向q程语言的最基本的单元是q程和函敎ͼ它们是程序中的最的lg。过E和函数可以实现最基本的代码重用,当我们把某些固定功能的代码用过E和函数~写后,我们可以在程序中调用它们而不必在M需要的地方都写上这样一D代码,q样的好处是显而易见的。在一些小型的E序里面Q用过E和函数是合适的Q但是在大中型程序中Q它们的弊端显C出来,q程和函数的_度太低了,如果我们一个系l,?0000个函数和q程Q我们的E序员将不得不花费大量的旉d扑֒l护它们Q?0000个没有Q何关pȝ函数和过E的理隑ֺ是显而易见的Q就好像10000个h的企业一P如果没有部门和职务,q还不ؕ了套Q!
面向对象语言的出玎ͼ是Z解决q个问题Q别听OO语言吹的天花乱坠Q其实它出现׃ؓ一个理由——提高编E的_度。面向对象语a的基本单位是cCLASSQ类装了很多数据成员和成员函数Q过E,最组件的提高了一个等U,我们需要直接操作的不是q程和函CQ而是一个个更高层次上的cR我们把10000人分了很多部门,不同的部门负责不同的事宜Q这样公司终于可以走上正轨了?/font>
做成了类CLASS是否׃事大吉了呢?不一定,新的问题随之而来Q也许我们有一个部门的人很多,可以做很多事情,如何在部门内部实现更好的理呢?好比我们有一个类Q它提供了很多种Ҏ和属性,q些Ҏ和属性其实可以分Z堆堆Qؓ不同的功能服务,但是我们的类q没有做q个理。在AOU,map对象拥有很多功能Q比如管理图层,理元素Q管理选择集,q行地图昄Q每U不同的功能都有好多Ҏ和属性,现在q些属性和Ҏ是杂乱无章,没有M区别堆积在一个类里面的,当我们的E序员需要寻找一个方法的时候,不得不一个个d找,很不方便?/font>
q个时候,接口interface出现了,C++的发明者第一ơ提出纯虚函敎ͼ其实是接口Q概늚时候,遭到了很多抵Ӟ很多人都不明白接口的意义何在Q我们用虚函数好好的Q何必又出来个啥东西都没有的I架子?说它是类吧,又不能实C生一个对象;说它是对象吧Q又没有Ҏ体来使用。接口出来干了一件好事,是类内部q行分类。对于map对象Q我们可以做好几个接口,q些接口中定义不同功能的ҎQ函数和属性,mapcd现这些接口,q样我们可以使用接口定义Q实现对象。因此,所谓接口就是一pd相关Ҏ与属性集合的定义?/font>
Dim pGraphicsContainer as iGraphicsContainer
pGraphicsContainer=application.document.ActiveView.focusMap
pGraphicsContainer可以使用的属性和Ҏ只能是它定义的那部分了Q而不能用管理元素等的接口定义的Ҏ和属性,那我们如何用其它的功能呢?q就是所谓的QI(Query Interface)功能。从一个接口查询另一个接口?/font>
Dim pGeoFeatureLayer as iGeofeatureLayer
pGeoFeatureLayer= pGraphicsContainer QI
好了Q我们罗嗦了q么多,已经走进了COM的概念了Q在正式介绍COM以前我们得最后罗嗦一点:计算a的发展历Ԍ其实是一部不断提高组件粒度的历史Q不断提高代码重用的历史。以前我们用过E和函数Q后来我们用类Q现在我们用接口,都是Z一个目的,让我们操作的lg在具体和抽象之间L一个^衡点。太具体了,如过E和函数Q就没有了框Ӟ太抽象,如类Q就无法分别?/font>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/carlbiao/archive/2009/04/18/4088934.aspx
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class WeatherReport {
/**
* 获取SOAP的请求头Qƈ替换其中的标志符号ؓ用户输入的城?br />
*
* ~写者:王景?br />
*
* @param city
* 用户输入的城市名U?br />
* @return 客户要发送给服务器的SOAPh
*/
private static String getSoapRequest(String city) {
StringBuilder sb = new StringBuilder();
sb
.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
+ "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soap:Body> <getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\">"
+ "<theCityName>" + city
+ "</theCityName> </getWeatherbyCityName>"
+ "</soap:Body></soap:Envelope>");
return sb.toString();
}
/**
* 用户把SOAPh发送给服务器端Qƈq回服务器点q回的输入流
*
* ~写者:王景?br />
*
* @param city
* 用户输入的城市名U?br />
* @return 服务器端q回的输入流Q供客户端读?br />
* @throws Exception
*/
private static InputStream getSoapInputStream(String city) throws Exception {
try {
String soap = getSoapRequest(city);
if (soap == null) {
return null;
}
URL url = new URL(
"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Length", Integer.toString(soap
.length()));
conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
conn.setRequestProperty("SOAPAction",
"http://WebXml.com.cn/getWeatherbyCityName");
OutputStream os = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
osw.write(soap);
osw.flush();
osw.close();
InputStream is = conn.getInputStream();
return is;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* Ҏ务器端返回的XMLq行解析
*
* ~写者:王景?br />
*
* @param city
* 用户输入的城市名U?br />
* @return 字符??分割
*/
public static String getWeather(String city) {
try {
Document doc;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = getSoapInputStream(city);
doc = db.parse(is);
NodeList nl = doc.getElementsByTagName("string");
StringBuffer sb = new StringBuffer();
for (int count = 0; count < nl.getLength(); count++) {
Node n = nl.item(count);
if(n.getFirstChild().getNodeValue().equals("查询l果为空Q?)) {
sb = new StringBuffer("#") ;
break ;
}
sb.append(n.getFirstChild().getNodeValue() + "#\n");
}
is.close();
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 试?br />
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
System.out.println(getWeather("长沙"));
System.out.println("po&oi".split("&").length) ;
System.out.println("##".split("#").length) ;
}
}