Sharepoint 获取列表项的guid
我有一个带有列表名和项目名的文本文件。我需要通过名称获取项目guid。怎样?(在splist中不使用foreach splistitem项,因为文本文件太大,循环将产生代价)您可能有足够的信息来使用SPWeb函数,否则需要尝试。这两个都不会很快 web服务有一个我使用过的不错的搜索功能,例如:Sharepoint 获取列表项的guid,sharepoint,guid,Sharepoint,Guid,我有一个带有列表名和项目名的文本文件。我需要通过名称获取项目guid。怎样?(在splist中不使用foreach splistitem项,因为文本文件太大,循环将产生代价)您可能有足够的信息来使用SPWeb函数,否则需要尝试。这两个都不会很快 web服务有一个我使用过的不错的搜索功能,例如: public static string GetPageId(string listName, string webPath, string pageTitle) {
public static string GetPageId(string listName, string webPath, string pageTitle)
{
string pageId = "";
IntranetLists.Lists lists = new IntranetLists.Lists();
lists.UseDefaultCredentials = true;
lists.Url = webPath + "/_vti_bin/lists.asmx";
XmlDocument doc = new XmlDocument();
doc.LoadXml("<Document><Query><Where><Contains><FieldRef Name=\"Title\" /><Value Type=\"Text\">" + pageTitle + "</Value></Contains></Where></Query><ViewFields /><QueryOptions /></Document>");
XmlNode listQuery = doc.SelectSingleNode("//Query");
XmlNode listViewFields = doc.SelectSingleNode("//ViewFields");
XmlNode listQueryOptions = doc.SelectSingleNode("//QueryOptions");
Guid g = GetWebID(webPath);
XmlNode items = lists.GetListItems(listName, string.Empty, listQuery, listViewFields, string.Empty, listQueryOptions, g.ToString());
foreach (XmlNode listItem in SPCollection.XpathQuery(items, "//sp:listitems/rs:data/z:row"))
{
XmlAttribute id = listItem.Attributes["ows_Id"];
if (id != null)
{
pageId = id.Value;
}
}
return pageId;
}
public static XmlNodeList XpathQuery(XmlNode xmlToQuery, string xPathQuery)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlToQuery.OuterXml);
XmlNamespaceManager mg = new XmlNamespaceManager(doc.NameTable);
mg.AddNamespace("sp", "http://schemas.microsoft.com/sharepoint/soap/");
mg.AddNamespace("z", "#RowsetSchema");
mg.AddNamespace("rs", "urn:schemas-microsoft-com:rowset");
mg.AddNamespace("y", "http://schemas.microsoft.com/sharepoint/soap/ois");
mg.AddNamespace("w", "http://schemas.microsoft.com/WebPart/v2");
mg.AddNamespace("d", "http://schemas.microsoft.com/sharepoint/soap/directory");
return doc.SelectNodes(xPathQuery, mg);
}
public静态字符串GetPageId(字符串列表名、字符串网页名、字符串页面标题)
{
字符串pageId=“”;
IntranetLists.Lists=新的IntranetLists.Lists();
lists.UseDefaultCredentials=true;
lists.Url=webPath+“/\u vti\u bin/lists.asmx”;
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“+pageTitle+”);
XmlNode listQuery=doc.SelectSingleNode(//Query);
XmlNode listViewFields=doc.SelectSingleNode(//ViewFields”);
XmlNode listQueryOptions=doc.SelectSingleNode(//QueryOptions);
Guid g=GetWebID(网页页);
XmlNode items=lists.GetListItems(listName、string.Empty、listQuery、listViewFields、string.Empty、listQueryOptions、g.ToString());
foreach(SPCollection.XpathQuery(items,“//sp:listitems/rs:data/z:row”)中的XmlNode listItem)
{
xmldattribute id=listItem.Attributes[“ows_id”];
如果(id!=null)
{
pageId=id.值;
}
}
返回pageId;
}
公共静态XmlNodeList XpathQuery(XmlNode xmlToQuery,字符串XpathQuery)
{
XmlDocument doc=新的XmlDocument();
doc.LoadXml(xmlToQuery.OuterXml);
XmlNamespaceManager mg=新的XmlNamespaceManager(doc.NameTable);
mg.AddNamespace(“sp”http://schemas.microsoft.com/sharepoint/soap/");
mg.AddNamespace(“z”,“#RowsetSchema”);
AddNamespace(“rs”,“urn:schemas-microsoft-com:rowset”);
mg.AddNamespace(“y”http://schemas.microsoft.com/sharepoint/soap/ois");
mg.AddNamespace(“w”http://schemas.microsoft.com/WebPart/v2");
mg.AddNamespace(“d”http://schemas.microsoft.com/sharepoint/soap/directory");
返回doc.SelectNodes(xPathQuery,mg);
}
或CamlQuery
SPListItemCollection items=web.Lists.GetItems(新建SPQuery(){Query=“YOUR Query”}) 转到列表设置页面。右键单击“标题、说明和导航”并复制URL。将其粘贴到记事本中,并复制字符串中“List=”之后的所有内容。这是列表的URL编码GUID。您只需在此处解码
http://www.albionresearch.com/misc/urlencode.php
来源:http://weblogs.asp.net/jimjackson/archive/2008/02/11/get-a-sharepoint-list-guid-from-the-browser.aspx
这是用于手动获取特定列表的每个GUID。如果要查找每个项目,必须使用某种循环。。。你能提供更多关于“商品名称”的信息吗?这些是文件吗?列出项目?“项目名称”在SharePoint中映射到哪个列?