2014-10-09 3 views
0

Я читаю список SharePoint с помощью java через веб-службу.Получить все имена столбцов из списка sharepoint java

Я видел несколько примеров, которые будут читать список на основе названий столбцов, которые вы предоставляете в качестве ввода.

Id нравится знать, как читать все элементы в списке SharePoint и получать список всех имен столбцов (предпочтительно для внутренних).

Спасибо за ваши мысли ребята

+0

Можете ли вы показать фактический код, а не объяснение того, что он должен делать? – Max

ответ

0
GetListItemsResponse.GetListItemsResult result = listsoap.getListItems(listName, "", msQuery, viewFields, null, queryOptions, webID); 
    Object listResult = result.getContent().get(0); 
    if(listResult != null){ 
     Element element = (Element)result.getContent().get(0); 
     NodeList nl = element.getElementsByTagName("z:row"); 
     System.out.println("\n=> " + nl.getLength() + " results from SharePoint Online\n"); 
     for(Integer i = 0; i < nl.getLength(); i++){ 
      NamedNodeMap attributes = nl.item(i).getAttributes(); 
      System.out.println(attributes.getNamedItem("ows_Title").getNodeValue()); 
     } 

Это код используется в настоящее время. Однако мне нужно указать внутреннее имя явно для извлечения его данных. Не существует способа получить все внутренние имена SharePointList через Java?

1

Может быть, эта ссылка поможет:

http://blog.ashwani.co.in/blog/2013-07-28/connect-and-access-sharepoint-webservice-from-java/

увидеть displaySharePointList() метод он не применяет никаких запросов или queryOption, и я думаю, что это будет отображать все элементы списка.

Но если вы хотите получить список имен столбцов, вам нужно создать запрос CAML (это очень смутный ответ, но я не знаю идеального ответа, поскольку я рассматриваю это самостоятельно atm).

Edit: я нашел эту программу помогает создавать CAMLQueries:

https://spcamlqueryhelper.codeplex.com/

веселит

1

Это позволит получить внутренние имена Колонных без декодирования.

NamedNodeMap attributes = listResult.getElementsByTagName("z:row").item(0).getAttributes(); 

for (int i=0; i<attributa.getLength(); i++){ 

    System.out.println("name: "+attributa.item(i).getNodeName()); 

    } 

Однако он не показывает скрытые столбцы. Любая идея как?

Смежные вопросы