2

Webサービスを介してJavaを介してSharePointのリストをクエリしています。リスト全体を取得したい場合は正常に機能しますが、リストの一部のみを照会したい場合です。これは、次のようなCAMLクエリを介して実行できます。

<Query>
<Where>
   <Gt>
      <FieldRef Name='ID' />
      <Value Type='Number'>10</Value>
   </Gt>
</Where>
</Query> 

しかし、Javaを介してこれを渡す方法がわかりません。今、私はこれを行っています:

GetListItemsResponse.GetListItemsResult result = port.getListItems(listName, viewName, query, viewFields, rowLimit, queryOptions, webID);

ここで、QUERYオブジェクトは単にnullです(リスト全体をフェッチします)。

私はどこかでそれがこのようにできることを読みました:

GetListItems.Query query = new GetListItems.Query();
query.getContent().add(generateXmlNode(QueryStringHere));

しかし、私はgenerateXmlNodeメソッドを持っていません。

何か案は?

4

3 に答える 3

0

[クエリ] ルート ノードを削除してみてください。クエリ ノードは、実行時に sharepoint によって追加されます。これで問題が解決するはずです。

于 2012-07-25T14:47:28.480 に答える
0

これを試してください:

private static Object generateXmlNode(String string) throws Exception {
    DocumentBuilder docBuilder = null;
    DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
    docBuilder = dbfac.newDocumentBuilder();
    Document rootDocument = docBuilder.newDocument();
    rootDocument.setTextContent(string);
    return rootDocument.getDocumentElement();

}
于 2012-07-31T12:55:19.640 に答える