代码之家  ›  专栏  ›  技术社区  ›  Novice

sharepoint lists.asmx:从getListitems方法响应xml中删除“ows_metainfo”字段

  •  2
  • Novice  · 技术社区  · 15 年前

    以下问题已在其他论坛上发表,但没有得到回应,我面临同样的问题,我想它会在这里得到一些答案:

    问题:

    我正在使用sharepoint2007getlistingsweb服务以编程方式检索文档库中的所有文档。但是,由于XML响应中包含无效字符,我的程序引发异常。坏数据在word文档本身中。文档属性的“注释”部分中有控制字符。然后,错误字符将以XML输出中的ows_metainfo字段的形式结束,该字段无效。

    我不需要ows_metainfo字段,因此我一直试图使用viewfields参数来指定返回哪些字段,同时将查询选项includemandatorycolumns设置为false,但总是返回ows_metainfo字段。

    有人知道是否可以从输出中删除ows_metainfo字段,或者以某种方式处理xml输出中出现的这些无效字符吗?

    3 回复  |  直到 9 年前
        1
  •  1
  •   gooja    11 年前

    我可以排除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

        2
  •  1
  •   Maurizio    9 年前

    在我的例子(sharepoint 2010)中,这解决了问题:

    <soap:viewFields>
        <ViewFields Properties="True">
           <FieldRef Name="MetaInfo" Property="ModifiedBy" />
           <FieldRef Name="ID" />
           <FieldRef Name="LinkFilename" />
        </ViewFields>
    </soap:viewFields>
    
        3
  •  0
  •   Marien Monnier    15 年前

    无法从输出中删除此字段,或者至少找不到任何字段。 msdn文档指出,即使将includemandatorycolumns设置为false,它也将返回一些必需字段。

    我认为您最好的选择是填写一个错误报告给微软,说无效字符放在ows_metainfo字段中。

    您还可以尝试另一件事,但我不知道将viewfields元素的properties属性设置为true是否可以解决这个问题。

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