0

SPWeb.GetSiteData(SPQuery)を使用して、サイトコレクション全体のフォームライブラリに対してcamlクエリを実行します。フィールド「ServerUrl」の場合、「/ sitename / library name/formName.xml」ではなく「/」だけが返されます。item ["ServerUrl"]を使用すると正しい値が返されますが、GetSiteDataメソッドを使用する必要があります。

これが私のコードです:

SPSiteDataQuery q = new SPSiteDataQuery();
q.Lists = "<Lists ServerTemplate='115' />";
q.Query = "<Where><And><And>"
            + "<Eq><FieldRef Name='" + UserId + "' /><Value Type='Text'>" + User + "</Value></Eq>"
            + "<Geq><FieldRef Name='Created' /><Value Type='DateTime'>" + dateFrom + "</Value></Geq></And>"
            + "<Leq><FieldRef Name='Created' /><Value Type='DateTime'>" + dateTo + "</Value></Leq></And></Where>";
q.Webs = "<Webs Scope='SiteCollection' />";
q.ViewFields =
    "<FieldRef Name='Title' />" +
    "<FieldRef Name='ID' />" +
    "<FieldRef Name='Created' />" +
    "<FieldRef ID='" + officeId + "' />" +
    "<FieldRef ID='" + formStatusId + "' />" +
    "<FieldRef ID='" + accessTypeId + "' />" +
    "<FieldRef Name='ServerUrl' />" +
    "<FieldRef Name='FileRef' />";
ret = web.GetSiteData(q);
4

1 に答える 1

1

一見壊れているように見えるServerURLは、SharePointWebサービスの1つに過ぎないようです。ファイルの完全なURLを取得しようとしている場合は、EncodedAbsUrlフィールドとFileRefフィールドからファイルを作成できます。

http://splucy.wordpress.com/2009/06/02/retrieve-pageurl-in-spsitedataquery/

于 2009-10-07T23:09:22.113 に答える