Retreiving Zoznam obsah prostredníctvom WebService v SharePoint 2003

Pridať do webreference Lists.asmx v SharePoint.

http://localhost / _vti_bin / Lists.asmx
(SharePoint virtuálne adresáre URL / _vti_bin / Lists.asmx

napísať nasledovné metódy vo vašej webovej služby.

súkromné data.DataTable GetDataTableFromWSS(bool onlySchema)
{
Reťazec WssSiteUrl = http://192.168.111.21;
Reťazec WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists zoznam = new WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;

lists.PreAuthenticate = true;
//musíte prejsť List Name tu
Reťazec CommandText = “Zamestnanecké Info”;
XMLNode ListCollectionNode = lists.GetListCollection();
XmlElement List = (XmlElement)ListCollectionNode.SelectSingleNode(String.format(“WSS:Zoznam[@ Title = '{0}’]”, CommandText), NameSpaceMgr);
ak (Zoznam == null)
{
throw new ArgumentException(String.format(“Zoznam {0} nemožno nájsť na webe {1}”, CommandText, WssSiteUrl));
}
Reťazec TechListName = List.GetAttribute(“Meno”);
data.DataTable vysledok = new data.DataTable(“Zoznam”);
XMLNode uzol = listinfo lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = new System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = new System.Collections.Hashtable();
foreach (XmlElement Pole v ListInfoNode.SelectNodes(“WSS:Pole / WSS:Pole”, NameSpaceMgr))
{
ak (Field.HasChildNodes)
{
foreach (XmlElement Fld v Field.SelectNodes(“WSS:Pole / WSS:Pole”, NameSpaceMgr))
{
Reťazec fieldname = Fld.GetAttribute(“Meno”);
Reťazec FieldDisplayName = Fld.GetAttribute(“DisplayName”);
ak (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + Fieldname + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Pole));
fieldRefs.AppendFormat(“”, Fieldname);
DisplayNames.Add(FieldDisplayName, Fieldname);
}
}
iného
{
Reťazec fieldname = Field.GetAttribute(“Meno”);
Reťazec FieldDisplayName = Field.GetAttribute(“DisplayName”);
ak (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + Fieldname + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Pole));
fieldRefs.AppendFormat(“”, Fieldname);
DisplayNames.Add(FieldDisplayName, Fieldname);
}
}
ak (onlySchema) return vysledok;
XmlElement polia = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XMLNode ItemsNode = lists.GetListItems(TechListName, “”, nulový, poľa, “1000000”, nulový);
// Vyhľadávacie pole vždy začínajú číselné ID, potom ;# a potom reťazec reprezentácie.
// Sme bežne záujem iba v názve, tak sme prúžok ID.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“^ D ;#”);

foreach (XmlElement položku v ItemsNode.SelectNodes(“rs:Dátum / z:riadok”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (result.Columns data.DataColumn sl)
{
ak (Item.HasAttribute(“ows_” + (Reťazec)DisplayNames[col.ColumnName]))
{
reťazec val = Item.GetAttribute(“ows_” + (Reťazec)DisplayNames[col.ColumnName]);
ak (CheckLookup.IsMatch((Reťazec)voľby))
{
Reťazec valString = val ako String;
voľba = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Priradenie reťazca do poľa, ktoré očakáva, čísla alebo
// datetime hodnoty budú implicitne previesť
newRow[s] = Voľba;
}
}
result.Rows.Add(newRow);
}
return vysledok;
}

// Nasledujúce funkcie slúžia k nám Menné priestory

private static XmlNamespaceManager _nsmgr;
private static XmlNamespaceManager NameSpaceMgr
{
dostať
{
ak (_nsmgr == null)
{
_nsmgr = new XmlNamespaceManager(nové NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com / SharePoint / mydlo /”);
_nsmgr.AddNamespace(“s”, “uuid:BDC6E3F0-6DA3-11D1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “uuid:C2F41010-65B3-11D1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“rs”, “urna:schémy-microsoft-com:riadkov”);
_nsmgr.AddNamespace(“zo dňa”, “#RowsetSchema”);

}
návrat _nsmgr;
}
}
Typ súkromné TypeFromField(XmlElement poľa)
{
prepínač (field.GetAttribute(“Typ”))
{
prípade “Datetime”:
návrat typeof(Datetime);
prípade “Celé číslo”:
návrat typeof(int);
prípade “Číslo”:
návrat typeof(plavák);
predvolené:
návrat typeof(Reťazec);
}
}

4 komentáre k Retreiving Zoznam obsah prostredníctvom WebService v SharePoint 2003

Required

Môžete použiť tieto HTML tagy

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>