Ychwanegwch y webreference i'r Lists.asmx yn SharePoint safle.
http://localhost / _vti_bin / Lists.asmx
(SharePoint Cyfeiriadur URL rithwir / _vti_bin / Lists.asmx
ysgrifennwch y dulliau canlynol yn eich webservice.
preifat data.DataTable GetDataTableFromWSS(bool onlySchema)
{
llinyn WssSiteUrl = http://192.168.111.21;
llinyn WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists rhestrau = newydd WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = gwir;
//yn rhaid i chi basio'r Enw Rhestr yma
llinyn CommandText = “Gweithwyr Gwybodaeth”;
XmlNode lists.GetListCollection ListCollectionNode =();
XmlElement Rhestr = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Rhestr[Teitl @ = '{0}’]”, CommandText), NameSpaceMgr);
os (Rhestr == null)
{
taflu ArgumentException newydd(String.Format(“Mae'r rhestr {0} na ellid dod o hyd yn y safle {1}”, CommandText, WssSiteUrl));
}
TechListName llinyn = List.GetAttribute(“Enw”);
data.DataTable ganlyniad = newydd data.DataTable(“rhestr”);
XmlNode ListInfoNode = lists.GetList(TechListName);
FieldRefs System.Text.StringBuilder = newydd System.Text.StringBuilder();
DisplayNames System.Collections.Hashtable = System.Collections.Hashtable newydd();
foreach (Maes XmlElement yn ListInfoNode.SelectNodes(“WSS:Caeau / WSS:Maes”, NameSpaceMgr))
{
os (Field.HasChildNodes)
{
foreach (Fld XmlElement yn Field.SelectNodes(“WSS:Caeau / WSS:Maes”, NameSpaceMgr))
{
llinyn FieldName = Fld.GetAttribute(“Enw”);
llinyn FieldDisplayName = Fld.GetAttribute(“DisplayName”);
os (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Maes));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
arall
{
llinyn FieldName = Field.GetAttribute(“Enw”);
llinyn FieldDisplayName = Field.GetAttribute(“DisplayName”);
os (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Maes));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
os (onlySchema) dychwelyd canlyniad;
Caeau XmlElement = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, null, caeau, “1000000”, null);
// Edrych Mae caeau bob amser yn dechrau gyda'r ID rhifol, Yna, ;# ac yna y gynrychiolaeth llinyn.
// Rydym fel arfer ddiddordeb yn unig yn yr enw, felly rydym yn tynnu y ID.
System.Text.RegularExpressions.Regex CheckLookup = newydd System.Text.RegularExpressions.Regex(“^ D ;#”);
foreach (Eitem XmlElement yn ItemsNode.SelectNodes(“rs:Dyddiad / z:rhes”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (data.DataColumn gornel yn result.Columns)
{
os (Item.HasAttribute(“ows_” + (llinyn)DisplayNames[col.ColumnName]))
{
llinyn Item.GetAttribute = Val(“ows_” + (llinyn)DisplayNames[col.ColumnName]);
os (CheckLookup.IsMatch((llinyn)Val))
{
llinyn dewis valString = fel Llinynnol;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Aseinio llinyn i faes sy'n disgwyl rhifau neu
// Bydd gwerthoedd Wedi ei gyflwyno gan ymhlyg yn eu trosi
newRow[col] = Val;
}
}
result.Rows.Add(newRow);
}
dychwelyd canlyniad;
}
// Mae'r Swyddogaeth canlynol yn cael ei ddefnyddio i Get gofod enwau
_nsmgr XmlNamespaceManager sefydlog preifat;
NameSpaceMgr XmlNamespaceManager sefydlog preifat
{
gael
{
os (== null _nsmgr)
{
_nsmgr = newydd XmlNamespaceManager(NameTable newydd());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com / SharePoint / sebon /”);
_nsmgr.AddNamespace(“â”, “uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “uuid:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“rs”, “Wrn:sgemâu-microsoft-com:rowset”);
_nsmgr.AddNamespace(“z”, “#RowsetSchema”);
}
dychwelyd _nsmgr;
}
}
preifat Math TypeFromField(Maes XmlElement)
{
newid (field.GetAttribute(“Math”))
{
achos “Wedi ei gyflwyno gan”:
dychwelyd typeof(Wedi ei gyflwyno gan);
achos “Cyfanrif”:
dychwelyd typeof(int);
achos “Nifer”:
dychwelyd typeof(arnofio);
diofyn:
dychwelyd typeof(llinyn);
}
}