2009-03-09 2 views
4

リストの各要素からすべてのフィールドを取得したいとします。私が見つけた唯一の方法は、すべてのフィールドを含むビューを作成することです。しかし、私は新しい視点を作りたくありません。私は試しましたが、それは賞賛されないようです。それがうまくいけば、GetListですべてのフィールドを取得し、そのフィールドに基づいてViewFieldsを設定できます。Sharepoint WebサービスでGetListItemsを使用してリストのすべてのフィールドを取得できません

xmlリクエストのデフォルトビューを上書きするビューはありますか?私の現在のXMLは以下の通りです。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://schemas.microsoft.com/sharepoint/soap/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
    <soap:Body> 
    <s0:GetListItems> 
     <s0:listName xsi:type="s:string">{GUID}</s0:listName> 
     <s0:QueryOptions> 
     <s0:ViewAttributes Scope="Recursive"></s0:ViewAttributes> 
     <s0:IncludeMandatoryColumns>TRUE</s0:IncludeMandatoryColumns> 
     </s0:QueryOptions> 
     <s0:Query></s0:Query> 
     <s0:ViewFields> 
     <s0:FieldRef xsi:type="s:string" Name="ID"></s0:FieldRef> 
     <s0:FieldRef xsi:type="s:string" Name="CellPhone"></s0:FieldRef> 
     <s0:FieldRef xsi:type="s:string" Name="FirstName"></s0:FieldRef> 
     </s0:ViewFields> 
    </s0:GetListItems> 
    </soap:Body> 
</soap:Envelope> 

答えて

1

あなたのViewFieldsには、返すフィールドのすべてが含まれている必要があります。クエリはCAMLクエリを返します。 CAMLクエリはフィルタとソートを決定します。

ViewFieldsとCAMLクエリの両方を助ける優れたツールは、U2U CAMLクエリビルダです。私は現時点でそれに対応するリンクを見つけるのが難しいので、自分で検索したり、他の人のCAMLクエリツールに頼らなければならないかもしれません。

カーク

4

私はそれを理解しました。何らかの理由で、正しいsoap名前空間にviewFieldsタグが必要です。そして、その中にViewFieldsタグ(大文字小文字は重要です)。

<s0:viewFields> 
<ViewFields> 
<s0:FieldRef ...> 
</ViewFields> 
</s0:viewFields> 
1

「何らかの理由で」?要素は、ローカル名名前空間の組み合わせによって識別されます。異なる名前空間では、同じローカル名を持っていても、異なる要素です。

+0

私は、お互いに同じローカル名(ただし異なるケース)の2つのタグを持っていなければならないということに気付いていました。 –

+0

FYI、XMLでは大文字と小文字が区別されます。別のケースでは、別のローカル名なので、別の名前です。 –

関連する問題