下面举例代码完成了获取ID为1文档(在文档库TestDL1中)相对URL 和作者信息
那ID是从哪里获取呢?我想大家定有很多思路方法啦比如文档库事件
LabDb.ListslistService=LabDb.Lists;
listService.Credentials=.Net.CredentialCache.DefaultCredentials;
XmlDocumenttxd=XmlDocument;
txd.LoadXml("<Query><Where><Eq><FieldRefName="ID"/><ValueType="Counter">1</Value></Eq></Where></Query>");
XmlNodendQuery=txd.SelectSingleNode("Query");
txd.LoadXml("<ViewFields><FieldRefName="ID"/><FieldRefName="FileRef"/><FieldRefName="Author"/></ViewFields>");
XmlNodendViewFields=txd.SelectSingleNode("ViewFields");
FileRef="";
Author="";
try
{
XmlNodendReturn=listService.GetListItems("TestDL1",null,ndQuery,ndViewFields,null,null);
XmlNamespaceManagernsmgr=XmlNamespaceManager(ndReturn.OwnerDocument.NameTable);
nsmgr.AddNamespace("s","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
nsmgr.AddNamespace("dt","uuid:C2F41010-65B3-11d1-A29F-00AA00C14882");
nsmgr.AddNamespace("rs","urn:schemas-microsoft-com:row");
nsmgr.AddNamespace("z","#RowSchema");
FileRef=ndReturn.SelectSingleNode("rs:data/z:row",nsmgr).Attributes["ows_FileRef"].Value;
FileRef=FileRef.Sub(FileRef.IndexOf("#")+1);
Author=ndReturn.SelectSingleNode("rs:data/z:row",nsmgr).Attributes["ows_Author"].Value;
Author=Author.Sub(Author.IndexOf("#")+1);
Console.WriteLine(FileRef);
Console.WriteLine(Author);
}
catch{}
其中关键是:
1、Query编写
2、ViewFields编写(可选也可以给null这样将显示所有)
3、XmlNamespace添加
最新评论