【问题标题】:Return a list of SharePoint List Column Headers返回 SharePoint 列表列标题列表
【发布时间】:2014-10-08 20:04:36
【问题描述】:

在 Java 中,我有一个与 Sharepoint 工作的连接,当我如下明确指定数据列的内部名称时,它可以毫无问题地检索 List 中的数据。 ArrayList listHash = new ArrayList(); 字符串视图名称 = ""; GetListItems.ViewFields viewFields = null; GetListItems.Query msQuery = null; GetListItems.QueryOptions queryOptions = null; 字符串 webID = ""; 字符串 rowLimit = "";

GetListItemsResponse.GetListItemsResult result = listsoap.getListItems(listName, "", msQuery, viewFields, "150", queryOptions, webID);
Object listResult = result.getContent().get(0);

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();

     //Add each field item to the arraylist
     String columnName1 = "ows_ClientName";
     String columnName2 = "ows_Address";
     System.out.println(attributes.getNamedItem(columnName1).getNodeValue());
     System.out.println(attributes.getNamedItem(columnName2).getNodeValue());
}

但我想从共享点列表中自动检索这些列名,这样我就可以更通用地阅读它,而不必在阅读它们之前具体知道列表中列的内部名称是什么。这可以实现吗?

感谢任何帮助。

问候,

【问题讨论】:

    标签: java list sharepoint header internal


    【解决方案1】:

    我假设您正在使用 SharePoint Web Services。如果是这种情况,您可以尝试调用 GetList 方法并将列表名称作为参数传递给该方法。 Web 服务的结果将是列表的架构,其中包含列表的详细信息,包括列的内部名称。让我知道这是否有效。

    【讨论】:

    • 我可以使用 GetList 然后 getContent() 给我一些东西,因为 size() 是 1,但似乎没有任何东西可以让我从中获取列/内部名称。使用 toString 将其显示为空。这是我用的。 System.out.println(listsoap.getList(listName).getContent().size()); System.out.println(listsoap.getList(listName).getContent().toString());
    • PS:我在原始帖子中添加了更多代码,以准确显示我当前如何获取数据(但只能通过在我的代码中指定列名而不是从列表本身中检索它们)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多