将外部列表数据从一个SP场提取到另一个SP场的最佳方法?

时间:2011-10-21 12:25:32

标签: c# xml sharepoint sharepoint-2007 active-directory

我正在考虑使用owssvr,提供列表GUID,然后只解析该数据。有没有更好的方法?我需要提供凭据来获取数据,我需要一个至少可以对AD进行身份验证的帐户。 (内部安全要求)。

我的基本电话会是这样的:

//XmlDocument xDoc = new XmlDocument();
                    //xDoc.Load("<localsite>/_vti_bin/owssvr.dll?Cmd=Display&List={8C3DE28C-00EF-40CE-8FD1-2D76D7F85426}&XMLDATA=TRUE");//hard coded for testing
/*This is where I'd parse the xDoc*/

有没有更好的方法来做到这一点?我目前仍然坚持使用凭据问题。这两个服务器场都是SharePoint 2007,它们可以更好地共享吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

var xmlUrlResolver = new XmlUrlResolver { Credentials = CredentialCache.DefaultCredentials };
var xmlTextReader = new XmlTextReader("http://yoururl") { XmlResolver = xmlUrlResolver };

var xDoc = XDocument.Load(xmlTextReader);

您可以进一步减少此代码,但它为您提供了进一步调查的方向。 请注意我使用.NET 4 LINQ to XML clases。

对于Xml DOM版本,前两行保持不变:

var xDoc = new XmlDocument();
xDoc.Load(xmlTextReader);