Sharepoint Lists.asmx:从GetListItems方法响应xml中删除“ows_MetaInfo”字段

时间:2010-03-07 20:35:32

标签: sharepoint-2007 web-services

以下问题已在其他论坛发布,但没有回应,我遇到同样的问题,我认为这会得到一些答案:

问题:

我正在使用SharePoint 2007 GetListItems Web服务以编程方式检索文档库中的所有文档。但是,由于XML响应中包含无效字符,我的程序抛出异常。坏数据在Word文档中。文档属性的“注释”部分中有控制字符。那么坏人物最终会变成什么?在XML输出中的ows_MetaInfo字段中无效。

我不需要ows_MetaInfo字段,因此我一直在尝试使用viewFields参数来指定要返回的字段,并将查询选项IncludeMandatoryColumns设置为false,但始终返回ows_MetaInfo字段。

有没有人知道是否可以从输出中删除ows_MetaInfo字段或以某种方式处理XML输出中出现的这些无效字符

2 个答案:

答案 0 :(得分:1)

这适用于我排除ows_MetaInfo字段:

  <soap:GetListItems>
     <soap:listName>{....}</soap:listName>
     <soap:viewFields>
         <ViewFields Properties="True">
           <FieldRef Name="*"/>
           <FieldRef Name="MetaInfo"/>
         </ViewFields>
     </soap:viewFields>
  </soap:GetListItems>

另见http://msdn.microsoft.com/en-us/library/dd964860(v=office.12).aspx

答案 1 :(得分:0)

无法从输出中删除此字段,或者至少没有找到我找到的字段。 MSDN文档说,即使您将IncludeMandatoryColumns设置为false,它也会返回一些必填字段。

我认为你最好的选择是向微软填写错误报告,说无效字符放在ows_MetaInfo字段中。

您可以尝试另一件事,但我不知道它是否会解决将ViewFields元素的Properties属性设置为TRUE的问题。

<ViewFields Properties="TRUE">your fieldrefs</ViewFields>