Retreiving lista tartalma a WebService a SharePoint 2003

Add a webreference a Lists.asmx a SharePoint-webhely.

http://localhost / _vti_bin / Lists.asmx
(SharePoint virtuális könyvtár URL / _vti_bin / Lists.asmx

írjon az alábbi módszereket a webservice.

Privát data.DataTable GetDataTableFromWSS(bool onlySchema)
{
karakterlánc WssSiteUrl = http://192.168.111.21;
karakterlánc WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists listák = new WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;

lists.PreAuthenticate = true;
//meg kell adnod a lista nevét itt
húr = CommandText “Munkavállalói Info”;
XmlNode = ListCollectionNode lists.GetListCollection();
Lista XmlElement = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Listája[@ Title = "{0}"]”, CommandText), NameSpaceMgr);
ha (Lista == 0)
{
Ezáltal új ArgumentException(String.Format(“A lista {0} nem található a honlapon {1}”, CommandText, WssSiteUrl));
}
karakterlánc TechListName = List.GetAttribute(“Név”);
data.DataTable result = új data.DataTable(“lista”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = new System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = new System.Collections.Hashtable();
foreach (XmlElement Field ListInfoNode.SelectNodes(“WSS:Fields / WSS:Mező”, NameSpaceMgr))
{
ha (Field.HasChildNodes)
{
foreach (XmlElement Fld a Field.SelectNodes(“WSS:Fields / WSS:Mező”, NameSpaceMgr))
{
karakterlánc mezőnév = Fld.GetAttribute(“Név”);
karakterlánc FieldDisplayName = Fld.GetAttribute(“DisplayName”);
ha (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + Mezőnév + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Mező));
fieldRefs.AppendFormat(“”, Mezőnév);
DisplayNames.Add(FieldDisplayName, Mezőnév);
}
}
más
{
karakterlánc mezőnév = Field.GetAttribute(“Név”);
karakterlánc FieldDisplayName = Field.GetAttribute(“DisplayName”);
ha (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + Mezőnév + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Mező));
fieldRefs.AppendFormat(“”, Mezőnév);
DisplayNames.Add(FieldDisplayName, Mezőnév);
}
}
ha (onlySchema) vissza eredmény;
XmlElement fields = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, nulla, mezők, “1000000”, nulla);
// Keresés mező mindig kezdeni a numerikus azonosító, majd ;# majd a sztring ábrázolásuk.
// Mi általában csak az érdekli, a neve, így az azonosító szalag.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“^ D ;#”);

foreach (XmlElement Elem ItemsNode.SelectNodes(“rs:Dátum / z:sor”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (data.DataColumn káposzta result.Columns)
{
ha (Item.HasAttribute(“ows_” + (húr)DisplayNames[col.ColumnName]))
{
karakterlánc val = Item.GetAttribute(“ows_” + (húr)DisplayNames[col.ColumnName]);
ha (CheckLookup.IsMatch((húr)val))
{
string = string valString választás;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// String hozzárendelése egy olyan területen, amely elvárja, számok vagy
// datetime értékek implicite átalakítani őket
newRow[A] = Val;
}
}
result.Rows.Add(newRow);
}
vissza eredmény;
}

// Az alábbi funkcióval Get Névterek

privát statikus XmlNamespaceManager _nsmgr;
privát statikus XmlNamespaceManager NameSpaceMgr
{
kap
{
ha (_nsmgr == null)
{
_nsmgr = new XmlNamespaceManager(Új névtábla());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com / SharePoint / szappan /”);
_nsmgr.AddNamespace(“A”, “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(“A”, “#RowsetSchema”);

}
vissza _nsmgr;
}
}
Privát Type TypeFromField(XmlElement területén)
{
kapcsoló (field.GetAttribute(“Típus”))
{
eset “DateTime”:
vissza typeof(DateTime);
eset “Egész szám”:
vissza typeof(int);
eset “Szám”:
vissza typeof(úszik);
alapértelmezett:
vissza typeof(húr);
}
}

4 megjegyzéseket Retreiving lista tartalma révén a SharePoint WebService 2003

Hagy egy Válaszol

Használhatod ezeket a HTML elemek

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