Ntxiv ntawm webreference rau cov Lists.asmx hauv sharepoint qhov chaw.
http://localhost/_vti_bin/Lists.asmx
(SharePoint virtual Directory URL/_vti_bin/Lists.asmx
sau rau hauv qab no kev nyob hauv koj lub webservice.
lwm cov ntaub ntawv.DataTable GetDataTableFromWSS(bool onlySchema)
{
kaj WssSiteUrl = http://192.168.111.21;
kaj WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists npe = WssSite.Lists tshiab();
teev.Url = WssSiteUrl + “_vti_bin/Lists.asmx”;
teev.Peev xwm = System.Net.CredentialCache.DefaultCredentials;
teev.PreAuthenticate = tseeb;
//koj yuav tsum xeem dhau daim ntawv teev npe no
kaj CommandText = “Tus neeg ua num Info”;
XmlNode ListCollectionNode = npe.GetListCollection();
XmlElement sau = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“wss:Sau[@Title ='{0}’]”, CommandText), NameSpaceMgr);
Yog hais tias (Daim ntawv teev == thov)
{
pov ArgumentException tshiab(String.Format(“Daim ntawv {0} yuav tsis muaj nyob rau hauv lub site {1}”, CommandText, WssSiteUrl));
}
kaj TechListName = List.GetAttribute(“Lub npe”);
cov ntaub ntawv.Kev raug DataTable = tshiab ntawm cov ntaub ntawv.DataTable(“sau”);
XmlNode ListInfoNode = npe.GetList(TechListName);
System.Text.StringBuilder fieldRefs = System.Text.StringBuilder tshiab();
System.Collections.Hashtable DisplayNames = System.Collections.Hashtable tshiab();
foreach (XmlElement daim teb nyob rau hauv ListInfoNode.SelectNodes(“wss:Liaj teb/wss:Teb”, NameSpaceMgr))
{
Yog hais tias (Field.HasChildNodes)
{
foreach (XmlElement Fld nyob Field.SelectNodes(“wss:Liaj teb/wss:Teb”, NameSpaceMgr))
{
kaj FieldName = Fld.GetAttribute(“Lub npe”);
kaj FieldDisplayName = Fld.GetAttribute(“DisplayName”);
Yog hais tias (tshwm sim.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
tshwm sim.Columns.Add(FieldDisplayName, TypeFromField(Teb));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
lwm yam
{
kaj FieldName = Field.GetAttribute(“Lub npe”);
kaj FieldDisplayName = Field.GetAttribute(“DisplayName”);
Yog hais tias (tshwm sim.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
tshwm sim.Columns.Add(FieldDisplayName, TypeFromField(Teb));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
Yog hais tias (onlySchema) rov qab tshwm sim;
XmlElement teb = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
teb.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = npe.GetListItems(TechListName, “”, thov, liaj teb, “1000000”, thov);
// Lookup teb ib txwm pib nrog tus ID numeric, ces ;# thiab ces rau cov hlua sawv cev.
// Peb yeej nquag tsuas xav tau lub npe, li ntawd, peb strip tus ID.
System.Text.RegularExpressions.Regex CheckLookup = System.Text.RegularExpressions.Regex tshiab(“^ d ;#”);
foreach (XmlElement yam nyob rau hauv ItemsNode.SelectNodes(“Reye:cov ntaub ntawv/z:tshais”, NameSpaceMgr))
{
cov ntaub ntawv.DataRow newRow = ntog.NewRow();
foreach (cov ntaub ntawv.DataColumn col hauv no.Txhua)
{
Yog hais tias (Item.HasAttribute(“ows_” + (hlua)DisplayNames[col.ColumnName]))
{
kaj val = Item.GetAttribute(“ows_” + (hlua)DisplayNames[col.ColumnName]);
Yog hais tias (CheckLookup.IsMatch((hlua)val))
{
kaj valString = val li txoj hlua;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Muab ib txoj hlua rau ib daim teb uas tooj expects los yog
// datetime qhov tseem ceeb yuav implicitly hloov ua lwm yam xwb
newRow[col] = val;
}
}
tshwm sim.Rows.Add(newRow);
}
rov qab tshwm sim;
}
// Cov nuj nqi nram qab no yog siv kom tau Namespaces
lwm yam zoo li qub XmlNamespaceManager _nsmgr;
lwm yam zoo li qub XmlNamespaceManager NameSpaceMgr
{
txais
{
Yog hais tias (_nsmgr == thov)
{
_nsmgr = XmlNamespaceManager tshiab(NameTable tshiab());
_nsmgr.AddNamespace(“wss”, “http://schemas.Microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“s”, “uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“DT”, “uuid:1-A29F C2F41010-65B3 - 11d-00AA00C14882”);
_nsmgr.AddNamespace(“Reye”, “urn:schemas-microsoft-com:rowset”);
_nsmgr.AddNamespace(“z”, “#RowsetSchema”);
}
rov qab mus _nsmgr;
}
}
lwm hom TypeFromField(XmlElement teb)
{
hloov (teb.GetAttribute(“Hom”))
{
rooj plaub no “DateTime”:
rov qab mus typeof(DateTime);
rooj plaub no “Integer”:
rov qab mus typeof(rau cov menyuam);
rooj plaub no “Naj npawb”:
rov qab mus typeof(ntab);
neej ntawd:
rov qab mus typeof(hlua);
}
}
WssSite kwv rau txoj, Kuv tabtom ua tau yuam kev ntawm no, “koj puas nco ib tug siv tswj lossis qhov kev siv los ua ke?” ib lub tswv yim
Kuv tuaj los Bala,
WssSite yog ib lub Webreference rau lub lists.asmx
Cheers,
Uday
Zoo heev. Tsaug Uday. Your post saved me lot of time in my migration project 🙂
Koj yuav txais tos Jaya