Xml 从Sharepoint页面上的列表中获取字段

Xml 从Sharepoint页面上的列表中获取字段,xml,visual-studio,web-services,sharepoint,sharepoint-2007,Xml,Visual Studio,Web Services,Sharepoint,Sharepoint 2007,我对Sharepoint非常陌生,我在Sharepoint网站上有一个显示字段列表的aspx页面,包括名字、姓氏等。我有一个控制台应用程序,在Visual Studio中,我用于测试一个web服务和另一个web服务之间的通信和数据传输能力;即Sharepoint和另一个web服务。我的目标是使用来自其他web服务的数据填充Sharepoint网站列表中的各个字段。我正在使用Sharepoint服务器上的列表web服务的web引用来尝试访问Sharepoint网站上此特定列表中的字段。我有以下代码

我对Sharepoint非常陌生,我在Sharepoint网站上有一个显示字段列表的aspx页面,包括名字、姓氏等。我有一个控制台应用程序,在Visual Studio中,我用于测试一个web服务和另一个web服务之间的通信和数据传输能力;即Sharepoint和另一个web服务。我的目标是使用来自其他web服务的数据填充Sharepoint网站列表中的各个字段。我正在使用Sharepoint服务器上的列表web服务的web引用来尝试访问Sharepoint网站上此特定列表中的字段。我有以下代码:

''Name of my web reference to Lists Web Service is "sharepoint"
        Dim sharepointList As New sharepoint.Lists()
        sharepointList.Credentials = System.Net.CredentialCache.DefaultCredentials

        Dim testLists As XmlNode = sharepointList.GetListCollection
        Dim xmlText As String = testLists.InnerXml
        Dim xmlElement As XmlAttributeCollection = testLists.Attributes
我一直在试图找到这张单子的位置。我承认,正如上面的代码所示,我不确定我应该在哪里寻找。我一直在使用调试器来分析上面的每个变量,以尝试在XML中找到这个特定列表的定义位置。任何帮助或见解都将不胜感激

以下是Sharepoint页面的快照,其中包含我尝试搜索的列表:

更新:


我决定使用GetList函数,并将newhires的名称传递给它。它最终抓住了上面的列表。现在我只是想看看我是否可以访问上面所示的字段,分析xml,看起来这些只是显示名称,实际的字段ID是一些字母数字字符串,即display Name=Business Phone的字段ID={fd630629-c165-4513-b43c-fdb16b86a14d}。我想知道是否有办法按显示名称搜索字段。

图片演练

更深入地了解


要将记录添加到列表中,您将需要类似in或

的方法,这是一种双管齐下的方法

首先,您需要从列表所在的特定站点的上下文访问SharePoint服务。例如,如果列表的URL为:

您可以从以下位置访问列表Web服务:

现在您进入了正确的网站集。剩下的步骤是在调用其中一个list方法时,通过name或GUID指定list。例如,如果您正在调用该方法,并且听起来您将调用该方法,那么您将使用:

sharepoint.UpdateListItems( "{B1DC8A9C-2316-41AD-875B-01C9D4BD19F8}", myUpdateXml );


显然,列表名将与您在列表URL中看到的实际列表名相对应。可以通过在SharePoint中查看列表,然后导航到“设置”>“列表设置”,并从URL中获取GUID以查找列表查询字符串参数来找到GUID。它将被编码,但您可以使用类似的实用程序将其解码为正确的GUID。在发送GUID作为参数时,请务必记住使用{}括号。

谢谢Ryan,我将查看这些资源,它们看起来非常有启发性。我不仅仅是在寻找一个直截了当的答案,我还想了解我在做什么以及它是如何工作的。嘿,CBono,谢谢你的洞察力。我将把它添加到我的代码中,并找出如何使它在我的项目中工作。获取列表访问权限是第一步,正如我提到的,最终我希望能够使用来自其他web服务的新数据填充此列表,此应用程序作为中间人处理该操作的原型。您肯定需要UpdateListItems方法,然后我的答案包含指向该方法的MSDN文档的超链接。GetList方法返回有关列表本身架构的信息,但不返回其中的实际数据。您需要的是该方法,它接受使用协作应用程序标记语言(或工作方式有点像SQL的CAML)编写的查询。您还可以告诉该方法仅返回字段的某个子集,您可以通过列名或GUID指定这些字段,但它们都与显示名称不同。
sharepoint.UpdateListItems( "MyList", myUpdateXml );