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

本文介绍了一种通过WSS Web服务获取SharePoint文档库中指定文档的方法,并提供了示例代码,展示了如何获取文档的相对URL及作者信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在很多情况下,我们希望外部的应用可以得到位于SharePoint文档库中的文档信息。这时不妨试试通过调用WSS的Web服务来完成。
下面的示例代码完成了获取ID为1的文档(在文档库TestDL1中)的相对URL 和作者信息。
那ID是从哪里获取的呢?我想大家一定有很多方法啦。比如,文档库事件。

LabDb.ListslistService=newLabDb.Lists();
listService.Credentials
=System.Net.CredentialCache.DefaultCredentials;

XmlDocumenttxd
=newXmlDocument();
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");
stringFileRef="";
stringAuthor="";
try
{
XmlNodendReturn
=listService.GetListItems("TestDL1",null,ndQuery,ndViewFields,null,null);
XmlNamespaceManagernsmgr
=newXmlNamespaceManager(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的添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值