.net如何获取接口返回值

代码太长,请看下面的图片。
请问我想获取里面的<code>0</code> 值做判断是否成功
和要把<id>178</id>这个值存到表里。
请问如何获取这个返回值呢?
请各位大大赐教,最好能详细些,在些万分感谢了!

参考实例如下:
调用方法:
1、引入CommonAliPay.dll
2、实现接口的方法调用方式:
AliPay ap = new AliPay();
string key = "";//填写自己的key
string partner = "";//填写自己的Partner
StandardGoods bp = new StandardGoods("trade_create_by_buyer", partner, key, "MD5", "卡2", Guid.NewGuid().ToString(), 2.551m, 1, "hao_ding2000@yahoo.com.cn", "hao_ding2000@yahoo.com.cn"
, "EMS", 25.00m, "BUYER_PAY","1");
bp.Notify_Url = "http://203.86.79.185/ali/notify.aspx";
ap.CreateStandardTrade("https://www.alipay.com/cooperate/gateway.do", bp, this);上面是通用的调用方式。
下面是只支持虚拟货物的方式:
string key = "";//填写自己的key
string partner = "";//填写自己的Partner
AliPay ap = new AliPay();
DigitalGoods bp = new DigitalGoods("create_digital_goods_trade_p", partner, key, "MD5", "卡2", Guid.NewGuid().ToString(), 2.551m, 1, "hao_ding2000@yahoo.com.cn", "hao_ding2000@yahoo.com.cn");
bp.Notify_Url = "http://203.86.79.185/ali/notify.aspx";
ap.CreateDigitalTrade("https://www.alipay.com/cooperate/gateway.do", bp, this);3、实现通知接口方法的调用(支持虚拟和实物):
protected void Page_Load(object sender, EventArgs e)
{

string key = "";//填写自己的key
string partner = "";//填写自己的Partner
AliPay ap = new AliPay();
string notifyid = Request.Form["notify_id"];
Verify v = new Verify("notify_verify", partner, notifyid);
ap.WaitSellerSendGoods+=new AliPay.ProcessNotifyEventHandler(ap_WaitSellerSendGoods);
ap.WaitBuyerPay += new AliPay.ProcessNotifyEventHandler(ap_WaitBuyerPay);
ap.ProcessNotify(this, "https://www.alipay.com/cooperate/gateway.do",key,v, "utf-8");
}

void ap_WaitBuyerPay(object sender, NotifyEventArgs e)
{
// //加入自己的处理逻辑
Log4net.log.Error("wait buyer pay fire");
}

private void ap_WaitSellerSendGoods(object sender, NotifyEventArgs e)
{
//加入自己的处理逻辑
Log4net.log.Error("WaitSellerSendGoods fire");
}的交易状态都被定义成了类似名称的事件。
部分源代码解析:
1、解析Forms集合到NotifyEventArgs类,因为后面此类的数据要用来做MD5Sign,所以所有值类型,不能存在初始值,如:int的0等。因此用Nullable范型。
private NotifyEventArgs ParseNotify(NameValueCollection nv, object obj)
{
PropertyInfo[] propertyInfos = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);

foreach (PropertyInfo pi in propertyInfos)
{
string v = nv.Get(pi.Name.ToLower());
if (v != null)
{
if (pi.PropertyType == typeof(string))
{

pi.SetValue(obj, v, null);

}
else if (pi.PropertyType == typeof(int?))
{
pi.SetValue(obj, int.Parse(v), null);
}
else if (pi.PropertyType == typeof(decimal?))
{

pi.SetValue(obj, decimal.Parse(v), null);
}
else if (pi.PropertyType == typeof(DateTime?))
{

pi.SetValue(obj, DateTime.Parse(v), null);
}
else if (pi.PropertyType == typeof(bool))
{

pi.SetValue(obj, bool.Parse(v), null);
}
else
{
//转型失败会抛出异常
pi.SetValue(obj, v, null);
}
}

}
return (NotifyEventArgs)obj;

}
2、从类型中获取排序后的参数
/**//// <summary>
/// 获取排序后的参数
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
private SortedList<string,string> GetParam(object obj)
{

PropertyInfo[] propertyInfos = obj.GetType().GetProperties(BindingFlags.Public|BindingFlags.Instance);
SortedList<string, string> sortedList = new SortedList<string, string>(StringComparer.CurrentCultureIgnoreCase);
foreach (PropertyInfo pi in propertyInfos)
{

if (pi.GetValue(obj, null) != null)
{
if (pi.Name == "Sign" || pi.Name == "Sign_Type")
{
continue;
}
sortedList.Add(pi.Name.ToLower(), pi.GetValue(obj, null).ToString());

}
}
return sortedList;

}3、从SortedList中产生参数
private string GetUrlParam(SortedList<string, string> sortedList,bool isEncode)
{
StringBuilder param = new StringBuilder();
StringBuilder encodeParam = new StringBuilder();
if (isEncode == false)
{

foreach (KeyValuePair<string, string> kvp in sortedList)
{
string t = string.Format("{0}={1}", kvp.Key, kvp.Value);
param.Append(t + "&");
}
return param.ToString().TrimEnd('&');
}
else
{
foreach (KeyValuePair<string, string> kvp in sortedList)
{
string et = string.Format("{0}={1}", HttpUtility.UrlEncode(kvp.Key), HttpUtility.UrlEncode(kvp.Value));
encodeParam.Append(et + "&");
}
return encodeParam.ToString().TrimEnd('&');
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-20
你的代码里不都是会写吗?
doc.SelectSingleNode("response/result/code").InnerText得到的结果就是0
doc.SelectSingleNode("response/data/id").InnerText得到的结果就是你要的178这个id本回答被提问者和网友采纳
第2个回答  2012-07-20
XmlDocument把XML文件load进来,解析节点。追问

引用 1 楼 的回复:
用XML类 序列化

大大 可以说得详细些吗?万份感谢,在线等,急呀

第3个回答  2012-07-20
使用XML进行解析即可

VB.net取得对话框返回值
'form1 窗体上添加一个button1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load Button1.DialogResult = Windows.Forms.DialogResult.OK End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Close()End Sub '以上是form1...

.NET winform 弹出对话框,如何传递参数并且在关闭对话框时 返回值
string s = form.ReturnValue; \/\/获得返回值123 }

.netcorewebapi如何处理接口统一返回值错误信息?
在开发中,.NET Core Web API控制器通常需要继承`ControllerBase`类。接口`Action`的返回值可以通过`IActionResult`或`ActionResult`类型来定义,并结合`Ok()`、`NotFound()`等方法自动设置HTTP状态码。然而,为了让API在Swagger文档中直观展示数据类型,通常会采用特定的返回类型,如`ApiResponse`。当需要...

asp.net如何接收Handler.ashx的返回值
如果用AJAX的传值方式直接WRITE("SSSS")出去就可以了得到返回值SSSS。如果用redirect()返回一个或多个值;URL附带参数就可以啦 还可以用会话技术SESSION,COOKIES,APPLICATION

如何在.Net平台上实现用代码判断返回值类型?
实现思路:通过反射找到方法,拿到MethodInfo对象后,可以得到ReturnType以及更多,比如参数数量,参数类型等等都可以。代码:using System;using System.Collections.Generic;namespace SomethingUncertainty { internal class Program { static void Main(string[] args){ var returType = typeof(AAA).GetMethod...

.net后台cs获取页面js方法返回值
我想问一下,这个表单提交了吗?提交的话可以用request.getParameter("q"); 如果没提交,是获取不到HTML页面上的值的,当然,你也可以将其设置为服务器控件,这样就行了。 如果你那id为q的是文本框,在属性里加个runat=server 那在后台可以这么取:ID.Text。其他的类似 不用通过js代码的,又不是...

c#.net并非所有的代码路径都返回值
逻辑错误,循环如果不进去 ,那么就是没有碰到return 也就是说 是有可能没有返回值的。 所以才会报这个错。最外面加个 return 0;就可以了。

.net 怎样获取ajax 里data值
如果是一般的html文本可以直接拿到。像json、xml可以使用jquery的 $.each();函数根据返回值的主键获取相应的数据。\/\/返回json$.post("data.ashx",{},function(datas){ var html; $.each(datas, function(i, data){ html+=data.name }); $(html).appendto("body");});xml的...

asp.net调用javascript返回值
1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为 ' <%=n% > '或"+ <%=n% >+"方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本 " var temp=" + tmp + " "tmp是后台变量,然后js中可以直接访问temp获得值。

《VB.NET》过程。返回值问题。
你的 sub过程这个是子过程,无返回值的,这里Form1_Load中b仍然 b=""如果你想b="注释",将你的sub过程改成自定义函数,用b来接收返回值就行了,代码如下 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim a As String = "rem" Dim b As String...

相似回答