Вы можете использовать метод GetListAndView веб-службы Lists для получения схем для списка и представления.
Из документации, если вы оставите параметр viewName
пустым, будет возвращено представление по умолчанию. Затем вы можете прочитать узел <ViewFields></ViewFields>
для списка полей.
* Редактировать *
Оказывается, использование XPath для запроса возвращенного XML оказалось сложнее, чем я думал ... вот что я придумал:
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);
}
Похоже, у вас должен быть XmlNamespaceManager
, иначе ваш запрос всегда не возвращает значений. Кое-что об указании пространства имен ... Вот хорошая ссылка .