我有一个连接到SharePoint Web服务的应用程序。 它需要做的是确定哪些项被更改并存储Modified,UniqueId和FileRef字段。要检索此数据,请使用Web服务的“Lists.GetListItemChanges”方法。这给了我正确的数据,但由于数据量很大,所有字段(包括页面内容)都返回给我。
因此,在阅读MSDN上的Lists.GetListItemChanges文档后,我将ViewFields参数与<ViewFields><FieldRef Name="Modified" /><FieldRef Name="UniqueId" /><FieldRef Name="FileRef" /></ViewFields>
这样的节点一起使用。
文档说“ViewFields元素,它指定在查询中返回哪些字段以及按什么顺序返回”。
这确实通过在结果行中向前移动这些字段(属性)来更改输出,但所有其他属性也返回到结果中,包括完整内容。这给了我太多的开销,我怎么能省略那些其他领域。
答案 0 :(得分:0)
有几个字段可以返回。但是,您可以限制非必填字段,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetListItemChanges xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>Team Discussion</listName>
<viewFields>
<ViewFields>
<FieldRef Name="DiscussionTitle"/>
<FieldRef Name="Modified"/>
<FieldRef Name="MyEditor"/>
</ViewFields>
</viewFields>
<since>2012-1-22</since>
</GetListItemChanges>
</soap:Body>
</soap:Envelope>
即便如此,我也无法抑制这些字段:
我敢打赌,不可抑制的字段也会根据列表定义而改变。我的例子是讨论清单