我正在通過web服務使用java讀取SharePoint列表。從sharepoint列表中獲取所有列名稱java
我見過一些例子,它們將根據您提供的列標題作爲輸入來讀取列表。
我想知道如何讀取SharePoint列表中的所有項目並獲取所有列名稱(內部優先)的列表。
感謝您的想法傢伙
我正在通過web服務使用java讀取SharePoint列表。從sharepoint列表中獲取所有列名稱java
我見過一些例子,它們將根據您提供的列標題作爲輸入來讀取列表。
我想知道如何讀取SharePoint列表中的所有項目並獲取所有列名稱(內部優先)的列表。
感謝您的想法傢伙
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());
}
這是目前正在使用的代碼。但是,我不得不明確指定內部名稱以檢索其數據。沒有辦法通過Java檢索SharePointList的所有內部名稱嗎?
也許這個鏈接將幫助您:
http://blog.ashwani.co.in/blog/2013-07-28/connect-and-access-sharepoint-webservice-from-java/
看他不應用任何查詢displaySharePointList()
方法或queryOption,我認爲這將顯示所有列表項。
但是,如果你想獲得列名的列表,你必須創建一個CAML查詢(這是非常模糊的答案,但我不知道完美的答案,因爲我正在查看這個由自己atm)。
編輯:我發現這個偉大的計劃,幫助您創建CAMLQueries:
https://spcamlqueryhelper.codeplex.com/
歡呼
這將讓該列的內部名稱無需解碼。
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());
}
但是,它不顯示隱藏的列。任何想法如何?
你能展示實際的代碼,而不是解釋它應該做什麼? – Max 2014-10-09 18:01:21