Retreiving Listi efni í gegnum Webservice í SharePoint 2003

Bæta við webreference að Lists.asmx í Sharepoint síðuna.

http://localhost / _vti_bin / Lists.asmx
(SharePoint raunverulegur Símaskrá URL / _vti_bin / Lists.asmx

skrifa eftirfarandi aðferðum í Webservice þínum.

einkaaðila data.DataTable GetDataTableFromWSS(bool onlySchema)
{
band WssSiteUrl = http://192.168.111.21;
band WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists lista = nýju WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;

lists.PreAuthenticate = true;
//þú þarft að standast Listi nafn hér
band CommandText = “Starfsmaður Info”;
XmlNode = ListCollectionNode lists.GetListCollection();
Listi XmlElement = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Listi[@ Title = '{0}']”, CommandText), NameSpaceMgr);
ef (Listi == null)
{
kasta nýju ArgumentException(String.Format(“Listinn {0} fannst ekki í síðuna {1}”, CommandText, WssSiteUrl));
}
band TechListName = List.GetAttribute(“Nafn”);
data.DataTable afleiðing = new data.DataTable(“listi”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = new System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = new System.Collections.Hashtable();
framhandleggur (XmlElement Field í ListInfoNode.SelectNodes(“WSS:Reitir / WSS:Field”, NameSpaceMgr))
{
ef (Field.HasChildNodes)
{
framhandleggur (XmlElement Fld í Field.SelectNodes(“WSS:Reitir / WSS:Field”, NameSpaceMgr))
{
band FieldName = Fld.GetAttribute(“Nafn”);
band FieldDisplayName = Fld.GetAttribute(“DISPLAYNAME”);
ef (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Field));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
annars
{
band FieldName = Field.GetAttribute(“Nafn”);
band FieldDisplayName = Field.GetAttribute(“DISPLAYNAME”);
ef (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Field));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
ef (onlySchema) aftur niðurstöðu;
XmlElement reiti = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, núll, sviðum, “1000000”, núll);
// Leit reitir byrja alltaf með tölugildi ID, þá ;# og þá band framsetning.
// Við erum yfirleitt aðeins áhuga á nafni, þannig að við ræma auðkenni.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“^ D ;#”);

framhandleggur (XmlElement Liður í ItemsNode.SelectNodes(“RS:Date / Z:róður”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
framhandleggur (data.DataColumn horn í result.Columns)
{
ef (Item.HasAttribute(“ows_” + (band)DisplayNames[col.ColumnName]))
{
band Val = Item.GetAttribute(“ows_” + (band)DisplayNames[col.ColumnName]);
ef (CheckLookup.IsMatch((band)Val))
{
string valString = val as String;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Úthlutun streng til a akur þessi ráð fyrir númer eða
// datetime gildi mun óbeint breyta þeim
newRow[með] = Val;
}
}
result.Rows.Add(newRow);
}
aftur niðurstöðu;
}

// Eftirfarandi aðgerð er notuð til að fá Nafnrými

persónulegur truflanir XmlNamespaceManager _nsmgr;
persónulegur truflanir XmlNamespaceManager NameSpaceMgr
{

{
ef (_nsmgr == null)
{
_nsmgr = new XmlNamespaceManager(Ný NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com / SharePoint / sápu /”);
_nsmgr.AddNamespace(“með”, “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(“á”, “#RowsetSchema”);

}
aftur _nsmgr;
}
}
einkaaðila Tegund TypeFromField(XmlElement sviði)
{
skipta (field.GetAttribute(“Tegund”))
{
ræða “Datetime”:
aftur typeof(Datetime);
ræða “Heiltölur”:
aftur typeof(INT);
ræða “Númer”:
aftur typeof(fljóta);
sjálfgefið:
aftur typeof(band);
}
}

4 athugasemdir til Retreiving Listi efni í gegnum Webservice í SharePoint 2003

Skildu eftir svar

Hægt er að nota þessi HTML tög

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