SharePoint Web Service系列:获取文档的属性信息
发布日期:2021-06-29 03:55:42 浏览次数:4 分类:技术文章

本文共 1649 字,大约阅读时间需要 5 分钟。

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

下面的示例代码完成了获取ID为1的文档(在文档库TestDL1中)的相对URL 和作者信息。   
那ID是从哪里获取的呢?我想大家一定有很多方法啦。比如,文档库事件。

           LabDb.Lists listService 
=
 
new
 LabDb.Lists();
            listService.Credentials 
=
 System.Net.CredentialCache.DefaultCredentials;
           
            XmlDocument txd 
=
 
new
 XmlDocument();
            txd.LoadXml(
"
<Query><Where><Eq><FieldRef Name=/
"
ID/
"
 /><Value Type=/
"
Counter/
"
>1</Value></Eq></Where></Query>
"
);
            XmlNode ndQuery 
=
 txd.SelectSingleNode(
"
Query
"
);
            txd.LoadXml(
"
<ViewFields><FieldRef Name=/
"
ID/
"
 /><FieldRef Name=/
"
FileRef/
"
 /><FieldRef Name=/
"
Author/
"
/></ViewFields>
"
);
            XmlNode ndViewFields 
=
 txd.SelectSingleNode(
"
ViewFields
"
);
            
string
 FileRef 
=
 
""
;
            
string
 Author 
=
 
""
;
            
try
            {
                XmlNode ndReturn 
=
 listService.GetListItems(
"
TestDL1
"
null
, ndQuery, ndViewFields, 
null
null
);
                XmlNamespaceManager nsmgr 
=
 
new
 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:rowset
"
);
                nsmgr.AddNamespace(
"
z
"
"
#RowsetSchema
"
);
                FileRef 
=
 ndReturn.SelectSingleNode(
"
rs:data/z:row
"
, nsmgr).Attributes[
"
ows_FileRef
"
].Value;
                FileRef 
=
 FileRef.Substring(FileRef.IndexOf(
"
#
"
+
 
1
);
                Author 
=
 ndReturn.SelectSingleNode(
"
rs:data/z:row
"
, nsmgr).Attributes[
"
ows_Author
"
].Value;
                Author 
=
 Author.Substring(Author.IndexOf(
"
#
"
+
 
1
);
                Console.WriteLine(FileRef);
                Console.WriteLine(Author);
           }
            
catch
 { }

其中的关键是:

1、Query的编写
2、ViewFields的编写(可选,也可以给null,这样将显示所有)
3、XmlNamespace的添加

转载地址:https://blog.csdn.net/zengjibing/article/details/3816307 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:SharePoint Web Service系列: Add或Update类型为User的项
下一篇:SharePoint Web Service系列:进行列表的增删改

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月03日 22时22分21秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章