我通过网络服务用java阅读SharePoint列表。
我已经看到了一些基于您提供的列标题读取列表的示例。
我想知道如何阅读SharePoint列表中的所有项目并获取所有列名称的列表(最好是内部列表)。
感谢您的想法
答案 0 :(得分:1)
也许这个链接可以帮到你:
http://blog.ashwani.co.in/blog/2013-07-28/connect-and-access-sharepoint-webservice-from-java/
请参阅他不应用查询或queryOption的displaySharePointList()
方法,我认为这将显示所有列表项。
但是如果你想得到一个列名列表,你必须创建一个CAML查询(这是一个非常模糊的答案,但我不知道完美的答案,因为我自己研究这个问题)
编辑:我发现这个很棒的程序可以帮助你创建CAMLQueries:
https://spcamlqueryhelper.codeplex.com/
欢呼声
答案 1 :(得分: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());
}
但是,它不会显示隐藏的列。知道怎么样?
答案 2 :(得分: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());
}
这是当前使用的代码。但是,我必须明确指定内部名称才能检索其数据。是不是有办法通过Java检索SharePointList的所有内部名称?