2010-03-07 57 views
2

下面的问题发布在其他论坛上,但没有回应,我面临同样的问题,我认为它会在这里得到一些答案:Sharepoint Lists.asmx:从GetListItems方法响应中删除“ows_MetaInfo”字段响应xml

问题:

我正在使用SharePoint 2007 GetListItems Web服务以编程方式检索文档库中的所有文档。但是,由于XML响应中包含无效字符,我的程序正在抛出异常。坏数据在Word文档本身内。文档属性的注释部分中有控制字符。然后,坏的字符在XML输出中的ows_MetaInfo字段中以无效的方式结尾为 。

我没有必要使用ows_MetaInfo字段,所以我一直试图使用viewFields参数来指定将查询选项IncludeMandatoryColumns设置为false但返回ows_MetaInfo字段时返回的字段。

有谁知道是否有可能从输出删除ows_MetaInfo场或以某种方式处理那些出现在XML输出这些无效字符

回答

0

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

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

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

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

都能跟得上,我试过“查看字段”选项,但没有用 – Novice 2010-03-10 02:22:43

+0

对不起。我只是想知道你的错误发生在哪一点?你是否从GetListItems中检索XmlNode? – 2010-03-10 08:30:46

+0

没有错误抛出。我只是想跳过这一列 – Novice 2010-03-23 14:24:15

1

看到我的情况下(SharePoint 2010中)这个解决了这个问题:

<soap:viewFields> 
    <ViewFields Properties="True"> 
     <FieldRef Name="MetaInfo" Property="ModifiedBy" /> 
     <FieldRef Name="ID" /> 
     <FieldRef Name="LinkFilename" /> 
    </ViewFields> 
</soap:viewFields>