利用网上免费的WebService实现一个在线翻译程序(英汉互译,你只要在textbox里输入英语或汉语,点击按钮就可以得到翻译结果了)
1、“网站”--“添加web引用”--在弹出窗口的‘URL’栏输入该WebService的wsdl链接:
http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl
(http://www.webxml.com.cn/zh_cn/web_services.aspx提供)。
【我保存如下重要信息】:
web引用名:cn.com.webxml.www
方法
getEnCnTwoWayTranslator ( Word As string ) As ArrayOfString
获得中文<->英文双向翻译 String()输入参数:中文或英文单词;返回数据:一个一维字符串数组 String(1),String(0) 中文为[拼音][国标码 部首 笔画 笔顺],英文为[音标];String(1) 译文 多个条目中间用 | 隔开,英文还包括单词属性。
2、点“添加引用”。打开wsdl文件,找出webservice的名字TranslatorWebService。
3、现在已经有web引用名、方法、webservice名这三个要素,我就可以开始做事了,完整代码:
<%
...
@ page language="C#"
%>
<% ... @ import namespace="System.IO" %>
<% ... @ import namespace="cn.com.webxml.www" %>
< script runat ="server" > ...
protected void Button1_Click(object sender, EventArgs e)
...{
Label1.Text = "";
TranslatorWebService objservice = new TranslatorWebService();
int len;
len=objservice.getEnCnTwoWayTranslator(TextBox1.Text).Length;
// string [] arr = new string [len+1];
//arr=objservice.getEnCnTwoWayTranslator(TextBox1.Text);
for (int i = 0; i < len ; i++)
...{
//Label1.Text = Label1.Text+arr[i];
Label1.Text = Label1.Text + objservice.getEnCnTwoWayTranslator(TextBox1.Text)[i];
}
}
</ script >
< html >
< head id ="Head1" runat ="server" >
< title > Untitled Page </ title >
</ head >
< body >
< form id ="Form1" runat ="server" >
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="Button" />
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >
< br />
< asp:Label ID ="Label1" runat ="server" Height ="264px" Text ="Label" Width ="440px" ></ asp:Label >< br />
< br />
< br />
< br />
</ form >
</ body >
</ html >
<% ... @ import namespace="System.IO" %>
<% ... @ import namespace="cn.com.webxml.www" %>
< script runat ="server" > ...
protected void Button1_Click(object sender, EventArgs e)
...{
Label1.Text = "";
TranslatorWebService objservice = new TranslatorWebService();
int len;
len=objservice.getEnCnTwoWayTranslator(TextBox1.Text).Length;
// string [] arr = new string [len+1];
//arr=objservice.getEnCnTwoWayTranslator(TextBox1.Text);
for (int i = 0; i < len ; i++)
...{
//Label1.Text = Label1.Text+arr[i];
Label1.Text = Label1.Text + objservice.getEnCnTwoWayTranslator(TextBox1.Text)[i];
}
}
</ script >
< html >
< head id ="Head1" runat ="server" >
< title > Untitled Page </ title >
</ head >
< body >
< form id ="Form1" runat ="server" >
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="Button" />
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >
< br />
< asp:Label ID ="Label1" runat ="server" Height ="264px" Text ="Label" Width ="440px" ></ asp:Label >< br />
< br />
< br />
< br />
</ form >
</ body >
</ html >