sharepoint:SharePoint Web Service系列:获取文档的属性信息

  在很多情况下我们希望外部应用可以得到位于SharePo文档库中文档信息这时不妨试试通过WSSWeb服务来完成

  下面举例代码完成了获取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添加

Tags:  sharepoint教程 什么是sharepoint sharepoint2007 sharepoint

延伸阅读

最新评论

发表评论