Wie kann ich SharePoint-Listen und Unterwebsites aus einem C# -Programm iterieren? Ist hierfür die von einer SharePoint-Installation erforderlich, oder gibt es eine "Sharepoint Client" -Dll, die für den Fernzugriff auf diese Daten verfügbar ist?Programmgesteuert auf SharePoint-Listen und Unterwebsites zugreifen?
Antwort
Verwenden Sie die Sharepoint-Webdienste. Insbesondere die Web-Services Webs und Lists tun, was Sie fragen.
für Sharepoint 2007: http://msdn.microsoft.com/en-us/library/bb862916(v=office.12).aspx
für Sharepoint 2007 müssen Sie die Web-Dienste zuzugreifen. In Sharepoint 2010 gibt es ein Sharepoint-Clientobjektmodell.
http://msdn.microsoft.com/en-us/library/ee857094%28office.14%29.aspx
Oder verwenden Sie die API, wenn der Code auf dem SharePoint-Server ausgeführt wird. –
Ich geschehe jetzt mit dieser Sache zu tun haben ... das funktioniert. Ich habe den Code etwas heruntergedummt, um mich nur auf die Mechanik zu konzentrieren. Es ist hart an den Rändern, aber hoffentlich kommst du auf die Idee. Es funktioniert für mich.
Stellen Sie außerdem sicher, dass Sie eine Webreferenz mit der URL Ihrer Sharepoint-Site einrichten. Verwenden Sie diese als Ihre "Web-Referenz" unten.
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");
}
}
}
}
}
}
Auch die SpFieldName Verfahren ist nicht eisengepanzerten. Es ist nur eine gute Schätzung für die meisten Feldnamen in einer Liste. Dies ist leider eine Entdeckungsreise. Sie müssen das XML verfügbar machen, um die tatsächlichen Feldnamen zu finden, wenn sie nicht übereinstimmen.
Gute Jagd.
- 1. JSF und Primefaces Versionsnummern programmgesteuert zugreifen
- 2. Programmgesteuert auf alle Benutzer zugreifen Startmenü
- 3. Programmgesteuert auf Google Chrome-Lesezeichen zugreifen
- 4. VS2015 Erweiterung programmgesteuert auf erweiterte Speicheroptionen zugreifen
- 5. Wie programmgesteuert auf Chrome App-Installationsverzeichnis zugreifen?
- 6. Programmgesteuert auf die Webseite in Java zugreifen
- 7. Wie programmgesteuert auf die iOS-Systemschrift zugreifen
- 8. Auf die Aufrufhierarchie von Eclipse programmgesteuert zugreifen
- 9. Wie programmgesteuert in ios auf viber und whatsapp zugreifen?
- 10. Wie kann ich programmgesteuert auf einen IPTV-Server zugreifen?
- 11. Programmgesteuert auf TFS-Annotationen zugreifen, um Besitzer zu bestimmen
- 12. Programmgesteuert auf die App-Kontingentdetails von Google App Engine zugreifen
- 13. Wie programmgesteuert in Java auf mehrdimensionales Array zugreifen?
- 14. Wie würde ich programmgesteuert auf diese WPF-XAML-Ressource zugreifen?
- 15. Programmgesteuert auf den Abschnitt <compilation /> einer web.config zugreifen?
- 16. Wie programmgesteuert auf ein DataGrid-Zeile-Details-Steuerelement zugreifen
- 17. Können Sie programmgesteuert auf die Firebug-Konsolenausgabe zugreifen?
- 18. Wie kann ich programmgesteuert auf Leistungsmetriken von Azure DocumentDb zugreifen?
- 19. Wie programmgesteuert auf den Namen einer Spring Boot-Anwendung zugreifen?
- 20. Wie kann ich programmgesteuert über JMX auf Speicherbelegung zugreifen?
- 21. Wie kann ich programmgesteuert auf eine Vorlage zugreifen?
- 22. Wie erhalten Sie eine Bildbibliothekseigenschaften in einer Site und allen Unterwebsites in SharePoint?
- 23. Wie programmgesteuert auf Steuerelement in WPF-Grid nach Zeilen- und Spaltenindex zugreifen?
- 24. Zugreifen auf versteckte SharePoint-Liste
- 25. Zugriff auf Asset Catalog programmgesteuert
- 26. Zugriff auf Asset Catalog programmgesteuert
- 27. iPhone programmgesteuert auf Werkseinstellungen zurücksetzen
- 28. Wie programmgesteuert auf dem lokalen Computer auf den Google Chrome-Browserverlauf zugreifen
- 29. Zugriff auf aufgezeichnete Erzählungen programmgesteuert
- 30. MS-Access 2007 - Wie programmgesteuert auf Unterformularspalten Daten auf Click-Ereignis zugreifen
Ist dies SharePoint 2007 oder 2010? –