Retreiving per Webservice į "SharePoint" sąrašo turinį 2003

Pridėti į SharePoint svetainėje Lists.asmx, webreference.

http://localhost / _vti_bin / Lists.asmx
(SharePoint virtualus katalogas URL / _vti_bin / Lists.asmx

rašyti šiuos metodus savo WebService.

privatus data.DataTable GetDataTableFromWSS(bool onlySchema)
{
styginių WssSiteUrl = http://192.168.111.21;
styginių WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists sąrašai = nauji WssSite.Lists,();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;

lists.PreAuthenticate = true;
//jūs turite pereiti Sąrašo pavadinimas
styginių CommandText = “Darbuotojų informacija”;
XmlNode = ListCollectionNode lists.GetListCollection();
Sąrašas XmlElement = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Sąrašas[@ Pavadinimas = '{0}’]”, CommandText), NameSpaceMgr);
jeigu (Sąrašas == null)
{
mesti naują ArgumentException(String.Format(“Į sąrašą {0} nebuvo galima rasti svetainėje {1}”, CommandText, WssSiteUrl));
}
eilutė TechListName = List.GetAttribute(“Vardas”);
data.DataTable rezultatas = naujas data.DataTable(“sąrašas”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = naujas System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = nauja System.Collections.Hashtable,();
foreach (XmlElement laukas, ListInfoNode.SelectNodes(“WSS:Laukus (arba) WSS:Laukas”, NameSpaceMgr))
{
jeigu (Field.HasChildNodes)
{
foreach (XmlElement FLD, Field.SelectNodes(“WSS:Laukus (arba) WSS:Laukas”, NameSpaceMgr))
{
styginių nazwapola = Fld.GetAttribute(“Vardas”);
styginių FieldDisplayName = Fld.GetAttribute(“DisplayName”);
jeigu (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Laukas));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
kitas
{
styginių nazwapola = Field.GetAttribute(“Vardas”);
styginių FieldDisplayName = Field.GetAttribute(“DisplayName”);
jeigu (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Laukas));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
jeigu (onlySchema) grįžti rezultatas;
XmlElement laukai = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, nulis, srityse, “1000000”, nulis);
// Peržvalgos laukai visada prasideda skaičių ID, tada ;# ir tada eilutė atstovavimas.
// Mes paprastai yra tik domina pavadinimą, todėl mes juostelės ID.
System.Text.RegularExpressions.Regex CheckLookup = naujas System.Text.RegularExpressions.Regex(“^ D ;#”);

foreach (XmlElement punktas, ItemsNode.SelectNodes(“RS:Data / z:eilė”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (data.DataColumn kampas, result.Columns)
{
jeigu (Item.HasAttribute(“ows_” + (Styga)DisplayNames[col.ColumnName]))
{
eilutę Val = Item.GetAttribute(“ows_” + (Styga)DisplayNames[col.ColumnName]);
jeigu (CheckLookup.IsMatch((Styga)Val))
{
eilutė = valString pasirinkimas kaip String;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Priskyrimas string srityje, kad tikisi numerius arba
// datetime vertybės netiesiogiai juos konvertuoti
newRow[su] = Val;
}
}
result.Rows.Add(newRow);
}
grįžti rezultatas;
}

// Ši funkcija yra naudojama gauti Vardų sritys

privataus statinio XmlNamespaceManager _nsmgr,;
privataus statinio XmlNamespaceManager NameSpaceMgr,
{
gauti
{
jeigu (_nsmgr == null)
{
_nsmgr = naujas XmlNamespaceManager(nauja NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com / SharePoint / muilo /”);
_nsmgr.AddNamespace(“su”, “uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “uuid:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“RS”, “urna:schemas-microsoft-com:rowset”);
_nsmgr.AddNamespace(“iš”, “#RowsetSchema”);

}
grįžti _nsmgr;
}
}
privatus tipas TypeFromField(XmlElement laukas)
{
pereiti (field.GetAttribute(“Tipas”))
{
atvejis “Datos ir laiko”:
grįžti typeof(Datos ir laiko);
atvejis “Sveikasis skaičius”:
grįžti typeof(int);
atvejis “Skaičius”:
grįžti typeof(plaukti);
numatytasis:
grįžti typeof(Styga);
}
}

4 comments to Retreiving List Content through WebService in SharePoint 2003

Leave a Reply

Galite naudoti šiuos HTML tagai

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