ASP.NET页面通过webServices得到SharePoint列表数据
"UserName", Type.GetType("System.String"))); UserList.Columns.Add(new DataColumn("Address", Type.GetType("System.String"))); UserList.Columns.Add(new DataColumn("School", Type.GetType("System.String"))); // 创建一个指向SharePoint Web Services的代理对象 fujinfen_13115c.ListsSoapClient client = new fujinfen_13115c.ListsSoapClient(); client.ListsSoapHeaderValue = new fujinfen_13115c.ListsSoapHeader(); // 设置认证信息,通常是使用Windows身份验证 client.ClientCredentials.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password", "domain"); // 调用GetListItems方法获取列表数据 fujinfen_13115c.GetListItemsResult result = client.GetListItems("http://127.0.0.1/_vti_bin/Lists.asmx", "", "UserList", "", "", "", ""); // 解析返回的XML数据 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(result.any); // 获取根节点 XmlNode nodeList = xmlDoc.SelectSingleNode("//rs:data"); foreach (XmlNode node in nodeList.SelectNodes("z:row")) { DataRow Dr = UserList.NewRow(); Dr["UserName"] = node.Attributes["ows_UserName"].Value; Dr["Address"] = node.Attributes["ows_Address"].Value; Dr["School"] = node.Attributes["ows_School"].Value; UserList.Rows.Add(Dr); } return UserList; } } } 在ASP.NET中,获取SharePoint列表数据可以通过多种方式实现,这里主要介绍了两种方法:一种是使用`SPSite`和`SPWeb`对象直接访问SharePoint站点的内部API(DLL方式),另一种是通过调用SharePoint的Web Services接口(Web Services方式)。 1. **使用SPSite和SPWeb对象(DLL方式)**: 这种方式依赖于`Microsoft.SharePoint`命名空间,允许直接操作SharePoint对象模型。创建一个`SPSite`对象,指定SharePoint站点的URL,然后打开`SPWeb`对象,代表站点的一个特定部分。接着,通过`SPWeb.GetList()`方法获取指定列表,并使用`SPList.Items`来获取列表项集合。遍历这个集合,可以将每个列表项的属性值(如"UserName"、"Address"和"School")添加到`DataTable`中。 2. **使用Web Services(Web Services方式)**: SharePoint提供了多种Web服务,允许远程访问站点数据。在这个例子中,我们使用`Lists.asmx`服务的`GetListItems`方法。创建一个服务代理对象并设置认证信息。然后,调用`GetListItems`方法,提供必要的参数如列表URL、视图名称、列表名等。返回的结果是一个XML字符串,需要解析该字符串获取列表项数据。通常,`z:row`元素表示一个列表项,通过遍历这些元素并提取对应的属性值,同样可以填充到`DataTable`中。 需要注意的是,当在IIS上发布ASP.NET应用程序时,确保应用程序池的身份与SharePoint站点应用池相同或具有相应的权限,否则可能会遇到权限不足的错误。这是因为SharePoint的API和Web Services通常需要足够的权限来访问SharePoint站点资源。 这两种方法各有优缺点。DLL方式更直接,但需要部署在有权限访问SharePoint服务器的对象模型的环境中。Web Services方式则更为灵活,可以在任何能够发起HTTP请求的地方使用,但可能需要处理更多的网络和身份验证问题。在实际项目中,选择哪种方式取决于具体需求,例如安全性、性能、可维护性以及开发环境的限制。
- 粉丝: 1
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
前往页