稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据

【数据集】中国各类水文专业常用数据集合集 对中国各类水文专业常用数据集进行整理并总结 阅读详情
[索引页]
[源码下载]


稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据


作者: webabcd


介绍
Silverlight 2.0 调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据
    通过 System.Net.WebClient 类调用 REST 服务
    通过 System.Json 命名控件下的类处理 JSON 数据
    通过 System.Xml.Linq 命名空间下的类(LINQ to XML)处理 XML 数据
    通过 System.ServiceModel.Syndication 命名空间下的类处理 RSS/ATOM 数据


在线DEMO
http://www.cnblogs.com/webabcd/archive/2008/10/09/1307486.html


示例
1、调用 REST 服务,返回 JSON 数据
REST.cs(WCF创建的REST服务)
using  System;
using  System.Linq;
using  System.Runtime.Serialization;
using  System.ServiceModel;
using  System.ServiceModel.Activation;

using  System.ServiceModel.Web;
using  System.Collections.Generic;
using  System.Text;
using  System.IO;

/// <summary>
/// 提供 REST 服务的类
/// 注:Silverlight只支持 GET 和 POST
/// </summary>

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode 
=  AspNetCompatibilityRequirementsMode.Allowed)]
public   class  REST
{
    
/// <summary>
    
/// 用于演示返回 JSON(对象) 的 REST 服务
    
/// </summary>
    
/// <param name="name"></param>
    
/// <returns></returns>

    [OperationContract]
    [WebGet(UriTemplate 
= "User/{name}/json", ResponseFormat = WebMessageFormat.Json)]
    
public User HelloJson(string name)
    
{
        
return new User { Name = name, DayOfBirth = new DateTime(1980, 2, 14) };
    }


    
/// <summary>
    
/// 用于演示返回 JSON(集合) 的 REST 服务
    
/// </summary>
    
/// <returns></returns>

    [OperationContract]
    [WebGet(UriTemplate 
= "Users/json", ResponseFormat = WebMessageFormat.Json)]
    
public List<User> HelloJson2()
    
{
        
return new List<User> 
        
{ 
            
new User(){ Name = "webabcd01", DayOfBirth = new DateTime(1980, 1, 1) },
            
new User(){ Name = "webabcd02", DayOfBirth = new DateTime(1980, 2, 2) },
            
new User(){ Name = "webabcd03", DayOfBirth = new DateTime(1980, 3, 3) },
        }
;
    }

}


Json.xaml
< UserControl  x:Class ="Silverlight20.Communication.Json"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" >
    
< StackPanel  HorizontalAlignment ="Left"  Width ="600" >
    
        
< TextBox  x:Name ="txtMsgJson"  Margin ="5"   />
        
< TextBox  x:Name ="txtMsgJson2"  Margin ="5"   />  
        
    
</ StackPanel >
</ UserControl >

Json.xaml.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Net;
using  System.Windows;
using  System.Windows.Controls;
using  System.Windows.Documents;
using  System.Windows.Input;
using  System.Windows.Media;
using  System.Windows.Media.Animation;
using  System.Windows.Shapes;

using  System.IO;

namespace  Silverlight20.Communication
{
    
public partial class Json : UserControl
    
{
        
public Json()
        
{
            InitializeComponent();

            
// 演示如何处理 JSON(对象)
            JsonDemo();

            
// 演示如何处理 JSON(集合)
            JsonDemo2();
        }


        
/// <summary>
        
/// 演示如何处理 JSON(对象)
        
/// </summary>

        void JsonDemo()
        
{
            
// REST 服务的 URL
            Uri uri = new Uri("http://localhost:3036/REST.svc/User/webabcd/json", UriKind.Absolute);

            
// 实例化 WebClient
            System.Net.WebClient client = new System.Net.WebClient();

            client.DownloadStringCompleted 
+= new DownloadStringCompletedEventHandler(json_DownloadStringCompleted);
            client.DownloadStringAsync(uri);

            txtMsgJson.Text 
= "读取 JSON(对象) 数据中。。。";
        }


        
void json_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        
{
            
if (e.Error != null)
            
{
                
// 发生错误的话,则打印出来
                txtMsgJson.Text = e.Error.ToString();
                
return;
            }


            
// 将获得的字符串转换为 JSON(对象)
            var buffer = System.Text.Encoding.UTF8.GetBytes(e.Result);
            var ms 
= new MemoryStream(buffer);
            var jsonObject 
= System.Json.JsonObject.Load(ms) as System.Json.JsonObject;

            txtMsgJson.Text 
= e.Result + "/r/n";
            
// 解析 JSON(对象)
            txtMsgJson.Text += string.Format("姓名: {0}, 生日: {1}",
                (
string)jsonObject["Name"],
                ((DateTime)jsonObject[
"DayOfBirth"]).ToString("yyyy-MM-dd"));

            
/* 
             * 总结:
             * JsonObject - 一个具有零或多个 key-value 对的无序集合。继承自抽象类 JsonValue
             *     JsonObject.Load(Stream) - 将指定的字符串流反序列化为 JSON 对象(CLR可用的类型)
             *     JsonObject[key] - JsonObject 索引器,获取 JsonObject 的指定key的value
             *     JsonObject.ContainsKey(key) - JsonObject 对象内是否具有指定的key
             
*/

        }


        
/// <summary>
        
/// 演示如何处理 JSON(集合)
        
/// </summary>

        void JsonDemo2()
        
{
            
// REST 服务的 URL
            Uri uri = new Uri("http://localhost:3036/REST.svc/Users/json", UriKind.Absolute);

            
// 实例化 WebClient
            System.Net.WebClient client = new System.Net.WebClient();

            client.DownloadStringCompleted 
+= new DownloadStringCompletedEventHandler(json2_DownloadStringCompleted);
            client.DownloadStringAsync(uri);

            txtMsgJson2.Text 
= "读取 JSON(集合) 数据中。。。";
        }


        
void json2_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        
{
            
if (e.Error != null)
            
{
                
// 发生错误的话,则打印出来
                txtMsgJson2.Text = e.Error.ToString();
                
return;
            }


            
// 将获得的字符串转换为 JSON(集合)
            var buffer = System.Text.Encoding.UTF8.GetBytes(e.Result);
            var ms 
= new MemoryStream(buffer);
            var jsonArray 
= System.Json.JsonArray.Load(ms) as System.Json.JsonArray;

            txtMsgJson2.Text 
= e.Result + "/r/n";
            txtMsgJson2.Text 
+= string.Format("姓名: {0}, 生日: {1}",
                (
string)jsonArray.First()["Name"],
                ((DateTime)jsonArray.Single(p 
=> p["Name"] == "webabcd02")["DayOfBirth"]).ToString("yyyy-MM-dd"));

            
/* 
             * 总结:
             * JsonArray - 一个具有零或多个 JsonValue(抽象类,JsonObject和JsonArray都继承自此类) 对象的有序序列
             *     JsonArray.Load(Stream) - 将指定的字符串流反序列化为 JSON 对象(CLR可用的类型)
             *     JsonArray[index] - JsonArray 索引器,获取 JsonArray 的指定索引的 JsonValue
             *     JsonArray 支持 LINQ
             
*/

        }

    }

}



2、调用 REST 服务,返回 XML 数据
REST.cs(WCF创建的REST服务)
using  System;
using  System.Linq;
using  System.Runtime.Serialization;
using  System.ServiceModel;
using  System.ServiceModel.Activation;

using  System.ServiceModel.Web;
using  System.Collections.Generic;
using  System.Text;
using  System.IO;

/// <summary>
/// 提供 REST 服务的类
/// 注:Silverlight只支持 GET 和 POST
/// </summary>

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode 
=  AspNetCompatibilityRequirementsMode.Allowed)]
public   class  REST
{
    
/// <summary>
    
/// 用于演示返回 XML(对象) 的 REST 服务
    
/// </summary>
    
/// <param name="name"></param>
    
/// <returns></returns>

    [OperationContract]
    [WebGet(UriTemplate 
= "User/{name}/xml", ResponseFormat = WebMessageFormat.Xml)]
    
public User HelloXml(string name)
    
{
        
return new User { Name = name, DayOfBirth = new DateTime(1980, 2, 14) };
    }


    
/// <summary>
    
/// 用于演示返回 XML(集合) 的 REST 服务
    
/// </summary>
    
/// <returns></returns>

    [OperationContract]
    [WebGet(UriTemplate 
= "Users/xml", ResponseFormat = WebMessageFormat.Xml)]
    
public List<User> HelloXml2()
    
{
        
return new List<User> 
        
{ 
            
new User(){ Name = "webabcd01", DayOfBirth = new DateTime(1980, 1, 1) },
            
new User(){ Name = "webabcd02", DayOfBirth = new DateTime(1980, 2, 2) },
            
new User(){ Name = "webabcd03", DayOfBirth = new DateTime(1980, 3, 3) },
        }
;
    }

}


Xml.xaml
< UserControl  x:Class ="Silverlight20.Communication.Xml"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" >
    
< StackPanel  HorizontalAlignment ="Left"  Width ="600" >

        
< TextBox  x:Name ="txtMsgXml"  Margin ="5"   />
        
< TextBox  x:Name ="txtMsgXml2"  Margin ="5"   />

    
</ StackPanel >
</ UserControl >

Xml.xaml.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Net;
using  System.Windows;
using  System.Windows.Controls;
using  System.Windows.Documents;
using  System.Windows.Input;
using  System.Windows.Media;
using  System.Windows.Media.Animation;
using  System.Windows.Shapes;

using  System.Xml.Linq;
using  System.IO;

namespace  Silverlight20.Communication
{
    
public partial class Xml : UserControl
    
{
        
public Xml()
        
{
            InitializeComponent();

            
// 演示如何处理 XML(对象)
            XmlDemo();

            
// 演示如何处理 XML(集合)
            XmlDemo2();
        }


        
/// <summary>
        
/// 演示如何处理 XML(对象)
        
/// </summary>

        void XmlDemo()
        
{
            
// REST 服务的 URL
            Uri uri = new Uri("http://localhost:3036/REST.svc/User/webabcd/xml", UriKind.Absolute);

            
// 实例化 WebClient
            System.Net.WebClient client = new System.Net.WebClient();

            client.DownloadStringCompleted 
+= new DownloadStringCompletedEventHandler(xml_DownloadStringCompleted);
            client.DownloadStringAsync(uri);

            txtMsgXml.Text 
= "读取 XML(对象) 数据中。。。";
        }


        
void xml_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        
{
            
if (e.Error != null)
            
{
                
// 发生错误的话,则打印出来
                txtMsgXml.Text = e.Error.ToString();
                
return;
            }


            
// 将获得的字符串转换为 XML(对象)
            var buffer = System.Text.Encoding.UTF8.GetBytes(e.Result);
            var ms 
= new MemoryStream(buffer);

            XElement xmlObject 
= XElement.Load(ms);

            txtMsgXml.Text 
= e.Result + "/r/n";
            XNamespace ns 
= "http://webabcd.cnblogs.com/";
            txtMsgXml.Text 
+= string.Format("姓名: {0}, 生日: {1}",
                (
string)xmlObject.Element(ns + "Name"),
                ((DateTime)xmlObject.Element(ns 
+ "DayOfBirth")).ToString("yyyy-MM-dd"));

            
/* 
             * 总结:
             * XElement - 表示一个 XML 元素
             *     XElement.Element - XML 元素内的 XML 元素
             *     XElement.Attribute - XML 元素内的 XML 属性
             *     XElement.Load(Stream) - 使用指定流创建一个 XElement 对象
             *     XElement.Parse(String) - 解析指定的 XML 字符串为一个 XElement 对象
             * XAttribute - 表示一个 XML 属性
             
*/

        }


        
/// <summary>
        
/// 演示如何处理 XML(集合)
        
/// </summary>

        void XmlDemo2()
        
{
            
// REST 服务的 URL
            Uri uri = new Uri("http://localhost:3036/REST.svc/Users/xml", UriKind.Absolute);

            
// 实例化 WebClient
            System.Net.WebClient client = new System.Net.WebClient();

            client.DownloadStringCompleted 
+= new DownloadStringCompletedEventHandler(xml2_DownloadStringCompleted);
            client.DownloadStringAsync(uri);

            txtMsgXml2.Text 
= "读取 XML(集合) 数据中。。。";
        }


        
void xml2_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        
{
            
if (e.Error != null)
            
{
                
// 发生错误的话,则打印出来
                txtMsgXml2.Text = e.Error.ToString();
                
return;
            }


            
// 将获得的字符串转换为 XML(集合)
            XDocument xmlObject = XDocument.Parse(e.Result);

            txtMsgXml2.Text 
= e.Result + "/r/n";
            XNamespace ns 
= "http://webabcd.cnblogs.com/";
            var obj 
= from p in xmlObject.Elements(ns + "ArrayOfUser").Elements(ns + "User")
                      
where p.Element(ns + "Name").Value == "webabcd02"
                      select 
new { Name = (string)p.Element(ns + "Name"), DayOfBirth = (DateTime)p.Element(ns + "DayOfBirth") };
            
            txtMsgXml2.Text 
+= string.Format("姓名: {0}, 生日: {1}",
                obj.First().Name,
                obj.First().DayOfBirth.ToString(
"yyyy-MM-dd"));


            
/* 
             * 总结:
             * LINQ to XML 相当的方便
             
*/

        }

    }

}



3、调用 REST 服务,返回 Rss/Atom 数据
Proxy.aspx.cs(返回指定的url地址的内容的服务)
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;

public   partial   class  Proxy : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
// 获取某个 url 地址的 html 并在页面上输出

        
string url = Request.QueryString["url"];

        System.Net.WebClient client 
= new System.Net.WebClient();
        client.Encoding 
= System.Text.Encoding.UTF8;

        Response.Write(client.DownloadString(url));
        Response.End();
    }

}


RssAtom.xaml
< UserControl  x:Class ="Silverlight20.Communication.RssAtom"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" >
    
< StackPanel  HorizontalAlignment ="Left"   >

        
< TextBox  x:Name ="txtMsgRss"  Width ="600"  Margin ="5"   />

        
< StackPanel  Orientation ="Horizontal" >
        
            
< ListBox  x:Name ="list"  Width ="300"  Margin ="5"  SelectionChanged ="list_SelectionChanged" >
                
< ListBox.ItemTemplate >
                    
< DataTemplate >
                        
< TextBlock  Text =" {Binding Title.Text} " ></ TextBlock >
                    
</ DataTemplate >
                
</ ListBox.ItemTemplate >
            
</ ListBox >

            
< TextBlock  x:Name ="detail"  Width ="300"  Margin ="5"  Text =" {Binding Summary.Text} "  TextWrapping ="Wrap"   />
            
        
</ StackPanel >
        
    
</ StackPanel >
</ UserControl >

RssAtom.xaml.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Net;
using  System.Windows;
using  System.Windows.Controls;
using  System.Windows.Documents;
using  System.Windows.Input;
using  System.Windows.Media;
using  System.Windows.Media.Animation;
using  System.Windows.Shapes;

using  System.Xml;
using  System.IO;
using  System.ServiceModel.Syndication;

namespace  Silverlight20.Communication
{
    
public partial class RssAtom : UserControl
    
{
        
public RssAtom()
        
{
            InitializeComponent();

            
// 演示如何处理 Rss/Atom
            RssDemo();
        }


        
/// <summary>
        
/// 演示如何处理 Rss/Atom
        
/// </summary>

        void RssDemo()
        
{
            
// 让一个代理页面去请求相关的 Rss/Atom(如果用Silverlight直接去请求,则需要在目标域的根目录下配置策略文件)
            Uri uri = new Uri("http://localhost:3036/Proxy.aspx?url=http://webabcd.cnblogs.com/rss", UriKind.Absolute);

            
// 实例化 WebClient
            System.Net.WebClient client = new System.Net.WebClient();

            client.DownloadStringCompleted 
+= new DownloadStringCompletedEventHandler(rss_DownloadStringCompleted);
            client.DownloadStringAsync(uri);

            txtMsgRss.Text 
= "读取 RSS 数据中。。。";
        }


        
void rss_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        
{
            
if (e.Error != null)
            
{
                
// 发生错误的话,则打印出来
                txtMsgRss.Text = e.Error.ToString();
                
return;
            }


            
// 将获得的字符串转换为 XmlReader
            var buffer = System.Text.Encoding.UTF8.GetBytes(e.Result);
            var ms 
= new MemoryStream(buffer);
            XmlReader reader 
= XmlReader.Create(ms);

            
// 从指定的 XmlReader 中加载,以生成 SyndicationFeed
            SyndicationFeed feed = SyndicationFeed.Load(reader);

            
// 设置 list 的数据源为 Rss/Atom 的项集合(SyndicationFeed.Items)
            list.ItemsSource = feed.Items;
            txtMsgRss.Text 
= e.Result + "/r/n";
        }


        
private void list_SelectionChanged(object sender, SelectionChangedEventArgs e)
        
{
            
// 设置 detail 的数据上下文为 Rss/Atom 的指定项(SyndicationItem)
            detail.DataContext = list.SelectedItem as SyndicationItem;
        }

    }

}



OK
[源码下载]
Apache Jena SPARQL 查询完全指南:入门与实战案例 本文介绍了使用Apache Jena执行SPARQL查询的完整指南。SPARQL是用于RDF数据的标准查询语言,在知识图谱领域地位相当于SQL。教程从基础开始,涵盖创建模型、加载数据以及执行各种查询类型。特别强调了WHERE子句中的图模式匹配机制,通过Mermaid图直观展示数据图与查询图的匹配过程。文章还对比了变量命名规范(?和$前缀),解释了SPARQL引擎如何通过变量绑定实现数据检索。通过Hello World示例演示了完整查询流程,为开发者提供了SPARQL的实用入门指导。 阅读详情

相关推荐

mysql8.0安装及配置超详细教程_mysql-8.0.15-winx64

MySQL8.0配置教程, 全网最详,同时有本地mysql和小皮系统见另一篇

小诺言的博客 2万+

稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据...

[索引页][源码下载]稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据 作者:webabcd介绍Silverlight 2.0 调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据 通过 System.Net.WebClient 类调用 ...

weixin_33941350的博客 136

AI 编程组合之deepseek+vscode+cline插件,使用deepseek大模型实现代码自动生成

本文介绍了VSCODE下cline插件的安装结合DeepSeek-V3,ai编程的组合套件,举了两个例子一个是生成登录页面,一个是生成贪吃蛇游戏

技术博客 7万+

上接稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据...

2、调用 REST 服务,返回XML 数据REST.cs(WCF创建的REST服务) usingSystem;usingSystem.Linq;usingSystem.Runtime.Serialization;usingSystem.ServiceModel;usingSystem.ServiceModel.Activation...

weixin_34050389的博客 158

英飞凌 AURIX Development Studio工程移植到Hightec的方法

1. 软件简介 AURIX™ Development Studio是英飞凌针对AURIX TC2XX/TC3XX系列单片机推出了一款免费的软件,集成了iLLD库,内置Tasking compiler和Tasking Debugger,但这两个模块只能用于非商业用途,可供学习和试用。iLLD库是英飞凌为TC2XX和TC3XX Tricore系列单片机提供的底层驱动库,有完善的使用手册,和较好的移植性。 Hightec是一款可以用来开发Aurix系列单片机的编译器,有免费版,可商用,集成GCC编译器,可用UDE

weixin_42967006的博客 7133

某Z节验证码

某Z节验证码、captchaBody、滑块、旋转、空间推理

mamenqi_csdn的博客 770

silverlight 收藏的网址

稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据 转载于:https://www.cnblogs.com/zhshw/archive/2010/04/05/1704577.html

weixin_30553777的博客 99

仅使用 Python 创建的 Web 应用程序(前端版本)第03章Streamlit-多页面

接下来,我们将解释多页面切换。Streamlit 没有“多页面”或“页面路由”等功能。另一方面,通过根据用户动作切换要执行的功能,可以使其看起来好像存在“多个页面”。注意:我认为它类似于 SinglePageApplication (SPA)。然而,根据 React、Vue 等中使用的 URL 路径来更改页面的路由很困难。还有一个用于获取查询参数的实验性 API,但如果您确实需要这种功能,我认为认真尝试编写 React 或 Vue 是个好主意。我们来看一个通过按下按钮来切换页面的示例,如下所示。

xianyinsuifeng的博客 1326

(2)经典导读:(webabcd)的Silverlight文章索引

[最后更新:2010.10.28] 源代码索引 稳扎稳打 Silverlight 系列文章 Silverlight 1.0 稳扎稳打Silverlight(1) - 1.0实例之电子表 稳扎稳打Silverlight(2) - 1.0实例之支持录音和回放的钢琴(Silverlight+ASP.NET AJAX+DLINQ) Silverlight 2....

weixin_30832405的博客 243

OpenClaw 股票自动化交易实践指南:从原理到实战的完整技术路径

量化交易策略的开发是一个系统工程,需要综合运用金融知识、编程技能和数据分析能力。OpenClaw通过引入提示词工程技术,大大降低了策略开发的技术门槛,使得更多投资者能够参与到量化交易中来。但技术只是工具,真正决定策略成败的是对市场的深刻理解和严格的风险管理。本章系统介绍了OpenClaw环境下的策略开发方法,从提示词驱动到传统代码实现,从参数优化到回测验证,涵盖了策略开发的完整流程。提示词驱动方式适合快速验证交易想法,传统代码方式适合实现复杂的定制逻辑,两种方式可以协同使用,发挥各自的优势。

lovely_yoshino的博客 5989

分布式系统中的“无状态”和“有状态”详解

有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如 tomcat 中的 session。例如登录:用户登录后,我们把登录者的信息保存在服务端 session 中,并且给用户一个 cookie 值,记录对应的 session。然后下次请求,用户携带 cookie 值来,我们就能识别到对应 session,从而找到用户的信息。

AI天才研究院 2万+

索引测试

[最后更新:2010.10.28] 源代码索引 稳扎稳打 Silverlight 系列文章 Silverlight 1.0 稳扎稳打Silverlight(1) - 1.0实例之电子表 稳扎稳打Silverlight(2) - 1.0实例之支持录音和回放的钢琴(Silverlight+ASP.NET AJAX+DLINQ) Silverlight ...

weixin_30802171的博客 279

论文复现5:UMI Universal Manipulation Interface

UMI 采用手持式夹具,加上精心的界面设计,可实现便携式、低成本和信息丰富的数据收集,以进行具有挑战性的双手和动态操作演示。配备这些功能后,UMI 框架解锁了新的机器人操作功能,只需更改每个任务的训练数据,即可实现零样本可推广的动态、双手、精确和长视野行为。我们通过全面的现实世界实验展示了 UMI 的多功能性和有效性,其中通过 UMI Zeroshot 学习的策略在对不同的人类演示进行训练时可以推广到新的环境和对象。项目主页:https://umi-gripper.github.io/

github_38060285的博客 1972

【转自 webabcd】系列文章

稳扎稳打 Silverlight 系列文章 Silverlight 1.0 稳扎稳打Silverlight(1) - 1.0实例之电子表稳扎稳打Silverlight(2) - 1.0实例之支持录音和回放的钢琴(Silverlight+ASP.NET AJAX+DLINQ) Silverlight 2.0 系列文章索引Silverlight 2.0 在线 Demo 稳扎稳打Silv...

weixin_33968104的博客 244

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

我(webabcd)的文章索引

源代码索引 稳扎稳打 Silverlight 系列文章 Silverlight 1.0 稳扎稳打Silverlight(1) - 1.0实例之电子表 稳扎稳打Silverlight(2) - 1.0实例...

cqujfclnu90923045的博客 199

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

系列文章索引

作者:webabcd来源:博客园发布时间:2007-02-24 17:58阅读:19538 次原文链接 [收藏] [最后更新:2010.01.30] 稳扎稳打 Silverlight 系列文章 Silverlight 1.0 稳扎稳打Silverlight(1) - 1.0实例之电子表 稳扎稳打Silverlight(2) -...

weixin_30435261的博客 188

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

训练数据示例

针对“规格书生成测试用例脚本”的任务,在 LLaMA-Factory 中使用即可。关键是把“规格书内容”放进input字段,把“期望的脚本输出”放进output字段。

liuxs2009的专栏 57

iOS 多语言本地化教程,VS Code KXApp 编辑 String Catalog .xcstrings

做 iOS 多语言本地化总要在 VS Code 和 Xcode 之间来回切?这篇讲用 KXApp(快蝎)在 VS Code 里直接编辑 String Catalog(.xcstrings):双击打开和 Xcode 一样的表格,`.xcstrings` 与老的 `.strings`、`.stringsdict` 同表编辑,加语言同步登记到工程、从源码扫描同步新 key,复数、设备变体和变量占位都在表里处理,改源语言文本后已有翻译自动标需复核。文件仍是标准格式,回 Xcode 打开一致。

2501_91592143的博客 154

用 ijson 流式解析 SerpBase 快照归档:把 16GB 内存压回 200MB

凌晨三点,解析脚本把机器内存吃满了去年做搜索数据归档分析时,我写了一个统计脚本:读取一个月的原始响应归档,统计每个域名在自然结果里出现的次数。归档文件是把每天几千条 SerpBase 响应拼成一个大 JSON 数组,单月文件 2.4GB。脚本跑起来不到四十秒,监控告警就响了——一台 16GB 内存的机器,可用内存被吃到只剩几百兆,同机的采集任务全被拖慢。。

Y381532662的博客 268

MCP接入Claude Code: 配置调用与排错全流程

💡 阅读提示: 这篇是我把 Sorftime MCP 接进 Claude Code 的完整过程, 从写配置文件到跑通第一次调用, 再到撞上 unrecognized_model、PATH、环境变量这几个坑。想给自己的 AI 助手接一

2601_96080792的博客 174

AI 编程智能体零门槛调用手册:从“能跑”到“敢放进作品集”

抄下来的调用示例跑不通、密钥硬编码、换模型就崩?这份手册按使用频率排序,每条给出用途、最小示例和坑点,30秒定位你需要的片段。跟着做,你将得到一个可配置、可切换模型、密钥不入库的小型智能体脚本——正是面试常问的安全集成大模型能力。🔧 从“能跑”到“敢放进作品集”,只差这一层重构。

2601_94912102的博客 393

Python+Agent入门笔记(二):列表推导式、模块和异常,这些写 Agent 前得会

接上一篇《Python+Agent入门笔记(一)》。基础语法跑通之后,这篇聊几块日常写脚本绕不开的东西。还是按 JS/Go 开发者的视角写,尽量记录我实际卡过的地方。

qq_41241612的博客 429

MCP本地服务集成避坑:从Stdio管道僵死到双向JSON-RPC稳健通信

本文剖析MCP服务端因调试日志污染Stdio管道导致客户端挂起的根因,指出console.log等非结构化输出会破坏JSON-RPC协议解析,引发通信僵死。提出双通道隔离方案:将业务通信严格限定于stdout,所有日志分流至stderr,并强制单行原子化传输与缓冲刷新。实践证明该架构可彻底消除解析崩溃与延迟问题,实现零延迟、高可靠的本地智能体通信,是MCP插件工程化的必选项。

艺杯羹的博客 490

从 Prompt 到 Tool Calling:AI Agent 如何稳定连接程序世界

大语言模型原生能力是生成 Token,而软件系统要求类型、权限、状态和确定的执行结果。AI Agent 要连接数据库、搜索引擎、支付系统或企业 API,中间必须建立一层可验证的交互协议。

weixin_47983718的博客 194

Spring AI 全模块 API 字典一览(1.1.0 版)

本文为 Spring AI 1.1.0 全量字典,涵盖模型接入(ChatModel)、Prompt与Message架构、ChatOptions配置及实战用例。重点解析 call()/stream() 方法签名、Prompt 消息封装机制、ChatResponse 响应结构,以及工具调用(ToolCall/ToolResponse)的配对逻辑。附真实项目用例(如 WebSearchReactAgent、PlanExecuteAgent),强调多轮对话记忆机制、流式处理防空策略与参数配置顺序陷阱,适配 Open

Java 后端学习者。写 JUC 并发、Redis 实战,也记录 LLM 应用开发(Spring AI / RAG / Agent)的学习实录——少讲概念,多讲过程和踩坑。 593
上一篇: 稳扎稳打Silverlight(18) - 2.0视频之详解MediaElement, 开发一个简易版的全功能播放器
下一篇: 稳扎稳打Silverlight(20) - 2.0通信之WebClient, 以字符串的形式上传/下载数据, 以流的方式上传/下载数据
webabcd
博客等级 码龄17年 28粉丝 911原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值