SharePoint saytında Lists.asmx üçün Webreference əlavə et.
http://localhost / _vti_bin / Lists.asmx
(SharePoint virtual Directory URL / _vti_bin / Lists.asmx
Sizin Belediyesi aşağıdakı üsulları yazmaq.
Şəxsi data.DataTable GetDataTableFromWSS(bool onlySchema)
{
string WssSiteUrl = http://192.168.111.21;
string WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists siyahıları = Yeni WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = true;
//Burada siyahısı Ad keçmək lazımdır
string CommandText = “İşçilərin Info”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement siyahısı = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Siyahısı[@ Title = '{0}"]”, CommandText), NameSpaceMgr);
əgər (Siyahı == null)
{
Yeni ArgumentException atmaq(String.Format(“siyahı {0} saytda tapılmadı {1}”, CommandText, WssSiteUrl));
}
string TechListName = List.GetAttribute(“Ad”);
data.DataTable nəticə = new data.DataTable(“siyahısı”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = new System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = new System.Collections.Hashtable();
foreach (ListInfoNode.SelectNodes da XmlElement Field(“WSS:Fields / WSS:Field”, NameSpaceMgr))
{
əgər (Field.HasChildNodes)
{
foreach (Field.SelectNodes da FLD XmlElement(“WSS:Fields / WSS:Field”, NameSpaceMgr))
{
string FieldName = Fld.GetAttribute(“Ad”);
string FieldDisplayName = Fld.GetAttribute(“DisplayName”);
əgər (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Field));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
başqa
{
string FieldName = Field.GetAttribute(“Ad”);
string FieldDisplayName = Field.GetAttribute(“DisplayName”);
əgər (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Field));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
əgər (onlySchema) qaytarılması nəticə;
XmlElement sahələri = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, null, sahələrdə, “1000000”, null);
// Axtarış sahələrdə həmişə sayısal ID ilə başlamaq, sonra ;# və sonra simli nümayəndəliyi.
// Biz adətən ad maraqlıdır, belə ki, biz ID soyunmaq.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“^ D ;#”);
foreach (ItemsNode.SelectNodes da XmlElement Item(“rs:data / z:sıra”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (result.Columns da data.DataColumn col)
{
əgər (Item.HasAttribute(“ows_” + (sim)DisplayNames[col.ColumnName]))
{
string val = Item.GetAttribute(“ows_” + (sim)DisplayNames[col.ColumnName]);
əgər (CheckLookup.IsMatch((sim)h))
{
valString string = val kimi String;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Nömrələri və ya gözləyir ki, bir sahədə bir string Atama
// datetime dəyərlər üstü onları konvertasiya edəcək
newRow[ilə] = H;
}
}
result.Rows.Add(newRow);
}
qaytarılması nəticə;
}
// Aşağıdakı Function Adlar fəzası alın istifadə olunur
Şəxsi statik XmlNamespaceManager _nsmgr;
Şəxsi statik XmlNamespaceManager NameSpaceMgr
{
almaq
{
əgər (_nsmgr == null)
{
_nsmgr = new XmlNamespaceManager(Yeni NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“s”, “uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “uuid:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“rs”, “urna:şemaları-microsoft-com:rowset”);
_nsmgr.AddNamespace(“etibarən”, “#RowsetSchema”);
}
_nsmgr qayıtmaq;
}
}
Şəxsi növü TypeFromField(XmlElement sahə)
{
keçid (field.GetAttribute(“Növ”))
{
hal “Datetime”:
typeof qayıtmaq(Datetime);
hal “Tam”:
typeof qayıtmaq(int);
hal “Nömrə”:
typeof qayıtmaq(sal);
default:
typeof qayıtmaq(sim);
}
}