SharePoint సైట్ లో Lists.asmx కు Webreference జోడించండి.
http://localhost / _vti_bin / Lists.asmx
(SharePoint వాస్తవిక డైరెక్టరీ URL / _vti_bin / Lists.asmx
మీ webservice ఈ క్రింది పద్దతులను రాయడానికి.
ప్రైవేట్ data.DataTable GetDataTableFromWSS(bool onlySchema)
{
స్ట్రింగ్ WssSiteUrl = http://192.168.111.21;
స్ట్రింగ్ WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists జాబితాలు = కొత్త WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = true;
//మీరు ఇక్కడ జాబితా పేరు పాస్ కలిగి
స్ట్రింగ్ CommandText = “Employee సమాచారం”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement జాబితా = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:జాబితా[@ Title = '{0}']”, CommandText), NameSpaceMgr);
ఉంటే (జాబితా == శూన్య)
{
కొత్త ArgumentException త్రో(String.Format(“జాబితా {0} సైట్ దొరకలేదు {1}”, CommandText, WssSiteUrl));
}
స్ట్రింగ్ TechListName = List.GetAttribute(“పేరు”);
data.DataTable ఫలితంగా = కొత్త data.DataTable(“జాబితా”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = కొత్త System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = కొత్త System.Collections.Hashtable();
foreach (ListInfoNode.SelectNodes లో XmlElement ఫీల్డ్(“WSS:ఫీల్డ్స్ / WSS:ఫీల్డ్”, NameSpaceMgr))
{
ఉంటే (Field.HasChildNodes)
{
foreach (Field.SelectNodes లో FLD XmlElement(“WSS:ఫీల్డ్స్ / WSS:ఫీల్డ్”, NameSpaceMgr))
{
స్ట్రింగ్ = FIELDNAME Fld.GetAttribute(“పేరు”);
స్ట్రింగ్ = FieldDisplayName Fld.GetAttribute(“DisplayName”);
ఉంటే (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FIELDNAME + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(ఫీల్డ్));
fieldRefs.AppendFormat(“”, FIELDNAME);
DisplayNames.Add(FieldDisplayName, FIELDNAME);
}
}
వేరే
{
స్ట్రింగ్ FIELDNAME = Field.GetAttribute(“పేరు”);
స్ట్రింగ్ FieldDisplayName = Field.GetAttribute(“DisplayName”);
ఉంటే (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FIELDNAME + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(ఫీల్డ్));
fieldRefs.AppendFormat(“”, FIELDNAME);
DisplayNames.Add(FieldDisplayName, FIELDNAME);
}
}
ఉంటే (onlySchema) తిరిగి ఫలితం;
XmlElement ఖాళీలను = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, శూన్య, ఖాళీలను, “1000000”, శూన్య);
// శోధన ఖాళీలను ఎల్లప్పుడూ సంఖ్యా ID ప్రారంభం, అప్పుడు ;# ఆపై స్ట్రింగ్ ప్రాతినిధ్యం.
// మేము సాధారణంగా పేరును మాత్రమే ఆసక్తి, కాబట్టి మేము ID వాదనను.
System.Text.RegularExpressions.Regex CheckLookup = కొత్త System.Text.RegularExpressions.Regex(“^ D ;#”);
foreach (ItemsNode.SelectNodes లో XmlElement అంశం(“రూ:డేటా z /:వరుసగా”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (result.Columns లో data.DataColumn లోయ)
{
ఉంటే (Item.HasAttribute(“ows_” + (స్ట్రింగ్)DisplayNames[col.ColumnName]))
{
స్ట్రింగ్ Val = Item.GetAttribute(“ows_” + (స్ట్రింగ్)DisplayNames[col.ColumnName]);
ఉంటే (CheckLookup.IsMatch((స్ట్రింగ్)గంటల))
{
స్ట్రింగ్ valString = Val స్ట్రింగ్ వంటి;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// సంఖ్యలు లేదా ఆశిస్తున్నట్లు ఒక రంగంలో ఒక స్ట్రింగ్ కేటాయించడం
// తేదీసమయం విలువలు పరిపూర్ణంగా వాటిని మారిపోతుంది
newRow[తో] = H;
}
}
result.Rows.Add(newRow);
}
తిరిగి ఫలితం;
}
// క్రింది ఫంక్షన్ నేంస్పేసులు పొందుటకు ఉపయోగిస్తారు
ప్రైవేట్ స్టాటిక్ XmlNamespaceManager _nsmgr;
ప్రైవేట్ స్టాటిక్ XmlNamespaceManager NameSpaceMgr
{
పొందండి
{
ఉంటే (_nsmgr == శూన్య)
{
_nsmgr = కొత్త XmlNamespaceManager(కొత్త NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“లు”, “uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “uuid:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“రూ”, “పాత్ర:స్కీమాస్-Microsoft-com:rowset”);
_nsmgr.AddNamespace(“నుండి”, “#RowsetSchema”);
}
_nsmgr తిరిగి;
}
}
ప్రైవేట్ పద్ధతి TypeFromField(XmlElement రంగంలో)
{
స్విచ్ (field.GetAttribute(“పద్ధతి”))
{
కేసు “తేదీసమయం”:
typeof తిరిగి(తేదీసమయం);
కేసు “పూర్ణాంకము”:
typeof తిరిగి(పూర్ణాంకానికి);
కేసు “సంఖ్య”:
typeof తిరిగి(ఫ్లోట్);
డిఫాల్ట్:
typeof తిరిగి(స్ట్రింగ్);
}
}
WssSite object on this code, I am getting error on this, “you are missing a using directive or an assembly reference?” any idea
Hi Bala,
WssSite is an Webreference for the lists.asmx
చీర్స్,
ఉదయ్
Excellent. Thanks Uday. Your post saved me lot of time in my migration project 🙂
You are welcome Jaya