Listede bir görünüm için şemaları almak için listeler web hizmetinin GetListAndView yöntemi kullanabilirsiniz: Bir XPath expression denemek isteyebilirsiniz.
Belgelerden viewName
parametresini boş bırakırsanız, varsayılan görünüm döndürülür. Ardından, alanların listesi için <ViewFields></ViewFields>
düğümünü okuyabilirsiniz. Eğer bir olması gibi görünüyor
XmlNode result = webService.GetListAndView("My Pictures", string.Empty);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(result.OwnerDocument.NameTable);
nsmgr.AddNamespace("sp", "http://schemas.microsoft.com/sharepoint/soap/");
string xpathQuery = "sp:View/sp:ViewFields/sp:FieldRef";
XmlNodeList nodes = result.SelectNodes(xpathQuery, nsmgr);
for (int i = 0; i < nodes.Count; i++)
{
Console.WriteLine(nodes[i].Attributes["Name"].Value);
}
:
* Düzenleme *
döndürülen XML ben ... Burada düşünce daha zorluydu sorgulamak için XPath kullanarak ben ile geldi dışarı açar XmlNamespaceManager
aksi takdirde sorgunuz her zaman değer döndürmez. İsim alanını belirtmekle ilgili bir şey var ... İşte a good reference.
ilginç görünüyor, ben ASAP deneyin ve sonuçları yayınlayın –
ViewFields Alanların isimlerini döndürün, bu yüzden her alanın adını ismini kullanarak yeniden isimlendirmek zorunda kaldım, görünen adını almak için ve ikinci sorun ViewFields o liste için sharepoint varsayılan görünümünde görüntülenen tüm alanları göstermez (liste bir liste ise)! herhangi bir fikir? –
Bunu, Fields, System.Xml.XmlNode listesini = SPListWebService.GetListAndView (xmlnode.Attributes ["Title"]) almak için denedim. Value, string.Empty); System.Xml.XmlNodeList visibleColumns = list.SelectNodes ("View/ViewFields/FieldRef"); .... nerede hata yaptım? –