Comment puis-je itérer des listes et des sous-sites SharePoint à partir d'un programme C#? Est-ce que le SharePoint.dll
est requis à partir d'une installation SharePoint ou y a-t-il une DLL "client Sharepoint" disponible pour accéder à distance à ces données?Accès par programme aux listes et sous-sites SharePoint?
Répondre
Utilisez les services Web Sharepoint; en particulier les webservices Webs et Lists font ce que vous demandez.
Pour Sharepoint 2007: http://msdn.microsoft.com/en-us/library/bb862916(v=office.12).aspx
Pour Sharepoint 2007, vous aurez besoin pour accéder aux services Web. Dans SharePoint 2010, il existe un modèle d'objet client SharePoint.
http://msdn.microsoft.com/en-us/library/ee857094%28office.14%29.aspx
Ou si le code est en cours d'exécution sur le serveur SharePoint, utilisez l'API. –
J'arrive à faire face à cette chose maintenant ... cela fonctionne. J'ai un peu baissé le code pour me concentrer uniquement sur la mécanique. C'est dur sur les bords, mais j'espère que vous avez l'idée. Cela fonctionne pour moi.
De même, veillez à configurer une référence Web à l'aide de l'URL de votre site Sharepoint. Utilisez cela comme votre "référence web" ci-dessous.
private <web reference> _Service;
private String _ListGuid, _ViewGuid;
private Initialize()
{
_Service = new <web reference>.Lists();
_Service.Credentials = System.Net.CredentialCache.DefaultCredentials;
_Service.Url = "https://sharepointsite/_vti_bin/lists.asmx";
}
private String SpFieldName(String FieldName, Boolean Prefix)
{
return String.Format("{0}{1}", Prefix ? "ows_" : null,
FieldName.Replace(" ", "_x0020_"));
}
private String GetFieldValue(XmlAttributeCollection AttributesList,
String AttributeName)
{
AttributeName = SpFieldName(AttributeName, true);
return AttributesList[AttributeName] == null ?
null : return AttributesList[AttributeName].Value;
}
public void GetList()
{
string rowLimit = "2000"; // or whatever
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
System.Xml.XmlElement query = xmlDoc.CreateElement("Query");
System.Xml.XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
System.Xml.XmlElement queryOptions =
xmlDoc.CreateElement("QueryOptions");
queryOptions.InnerXml = "";
System.Xml.XmlNode nodes = _Service.GetListItems(_ListGuid, _ViewGuid,
query, viewFields, rowLimit, null, null);
foreach (System.Xml.XmlNode node in nodes)
{
if (node.Name.Equals("rs:data"))
{
for (int i = 0; i < node.ChildNodes.Count; i++)
{
if (node.ChildNodes[i].Name.Equals("z:row"))
{
XmlAttributeCollection att =
node.ChildNodes[i].Attributes;
String title = GetFieldValue("Title");
String partNumber = GetFieldValue("Part Number");
}
}
}
}
}
}
En outre, le procédé SpFieldName est non blindée. C'est juste une bonne idée, pour la plupart des noms de champs dans une liste. Ceci, malheureusement, est un voyage de découverte. Vous devez exposer le code XML pour trouver les noms de champs réels s'ils ne correspondent pas.
Bonne chasse.
- 1. Accès aux listes d'images
- 2. Accès aux paramètres du programme par nom
- 3. Accès aux éléments ResourceDictionary par programme
- 4. Comment lisez-vous les listes SharePoint par programme?
- 5. Sharepoint: Accès aux fichiers sharepoint SQL
- 6. Accès aux propriétés de SPLIstItem dans SharePoint
- 7. Alternative Open Source aux listes Sharepoint
- 8. Accès par programme à une bibliothèque de documents SharePoint?
- 9. Accès aux styles par programme pour obtenir des valeurs
- 10. Accès aux fichiers locaux dans l'iphone par programme
- 11. Accès aux paramètres du sitecore par programme (Sitecore 6)
- 12. Accès aux documents Sharepoint 2007 hors réseau
- 13. Recherche par programme un utilisateur dans SharePoint
- 14. accès par rôle aux méthodes
- 15. Accès SharePoint, WCF et anonyme
- 16. asp.net DetailsView accès aux données par programmation
- 17. Création par programme d'un événement: Button et attachement dans SharePoint
- 18. accès par programme inventaire concessionnaires automobiles
- 19. accès programmé aux listes de points de partage en utilisant l'emprunt d'identité
- 20. Accès aux statistiques de recherche SharePoint via l'API
- 21. Listes de Sharepoint - GroupBy?
- 22. Accès aux Sharepoint Propriétés UserProfile avec le script Powershell
- 23. accès sharepoint
- 24. Accès par script aux URL WebGoat?
- 25. Sharepoint Calendar List: Dépannage Accès anonyme
- 26. Accès aux éléments séparés par -componentsSeparatedByString
- 27. Erlang xml aux tuples et listes
- 28. Optimisation: Accès aux champs par rapport aux méthodes
- 29. images Accès par programme dans asp.net
- 30. Accès aux objets dans NSMutableDictionary par index
Est-ce SharePoint 2007 ou 2010? –