לייג די וועברעפערענסע צו די ליסצ.אַסמקס אין שאַרעפּאָינט פּלאַץ.
הטטפּ://לאָקאַלהאָסט / _ווטי_בין / ליסצ.אַסמקס
(שאַרעפּאָינט ווירטואַל Directory URL / _ווטי_בין / ליסצ.אַסמקס
שרייַבן די פאלגענדע מעטהאָדס אין דיין וועבסערוויסע.
פּריוואַט דאַטאַ.דאַטאַטאַבלע געטדאַטאַטאַבלעפראָמווסס(באָאָל אָנליסטשעמאַ)
{
שטריקל ווסססיטעורל = http://192.168.111.21;
שטריקל ווסססיטעורל = קאָנפיגוראַטיאָנסעטטינגס.אַפּפּסעטטינגס[“ווסססיטעורל”];
ווסססיטע.ליסץ רשימות = נייַ ווסססיטע.ליסץ();
ליסצ.ורל = ווסססיטעורל + “_ווטי_בין / ליסצ.אַסמקס”;
ליסצ.קרעדענטיאַלס = סיסטעמ.נעט.קרעדענטיאַלקאַטשע.דעפאַולטקרעדענטיאַלס;
ליסצ.פּרעאַוטהענטיקאַטע = אמת;
//you have to pass the List Name here
string CommandText = “Employee Info”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement List = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“wss:רעשימע[@Title='{0}’]”, CommandText), NameSpaceMgr);
צי (List == null)
{
throw new ArgumentException(String.Format(“The list {0} could not be found in the site {1}”, CommandText, ווסססיטעורל));
}
string TechListName = List.GetAttribute(“נאָמען”);
data.DataTable result = new data.DataTable(“רשימה”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = new System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = new System.Collections.Hashtable();
פאָרעאַטש (XmlElement Field in ListInfoNode.SelectNodes(“wss:Fields/wss:Field”, NameSpaceMgr))
{
צי (Field.HasChildNodes)
{
פאָרעאַטש (XmlElement Fld in Field.SelectNodes(“wss:Fields/wss:Field”, NameSpaceMgr))
{
string FieldName = Fld.GetAttribute(“נאָמען”);
string FieldDisplayName = Fld.GetAttribute(“DisplayName”);
צי (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + פיעלדנאַמע + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Field));
fieldRefs.AppendFormat(“”, פיעלדנאַמע);
DisplayNames.Add(FieldDisplayName, פיעלדנאַמע);
}
}
אַנדערש
{
string FieldName = Field.GetAttribute(“נאָמען”);
string FieldDisplayName = Field.GetAttribute(“DisplayName”);
צי (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + פיעלדנאַמע + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Field));
fieldRefs.AppendFormat(“”, פיעלדנאַמע);
DisplayNames.Add(FieldDisplayName, פיעלדנאַמע);
}
}
צי (onlySchema) return result;
XmlElement fields = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, null, פעלדער, “1000000”, null);
// Lookup fields always start with the numeric ID, then ;# and then the string representation.
// We are normally only interested in the name, so we strip the ID.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“^\d ;#”);
פאָרעאַטש (XmlElement Item in ItemsNode.SelectNodes(“rs:data/z:row”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
פאָרעאַטש (data.DataColumn col in result.Columns)
{
צי (Item.HasAttribute(“ows_” + (שטריקל)DisplayNames[col.ColumnName]))
{
string val = Item.GetAttribute(“ows_” + (שטריקל)DisplayNames[col.ColumnName]);
צי (CheckLookup.IsMatch((שטריקל)val))
{
string valString = val as String;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Assigning a string to a field that expects numbers or
// datetime values will implicitly convert them
newRow[col] = val;
}
}
result.Rows.Add(newRow);
}
return result;
}
// The following Function is used to Get Namespaces
private static XmlNamespaceManager _nsmgr;
private static XmlNamespaceManager NameSpaceMgr
{
get
{
צי (_nsmgr == null)
{
_nsmgr = new XmlNamespaceManager(new NameTable());
_nsmgr.AddNamespace(“wss”, “הטטפּ://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“מיט”, “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(“z”, “#RowsetSchema”);
}
return _nsmgr;
}
}
private Type TypeFromField(XmlElement field)
{
switch (field.GetAttribute(“Type”))
{
case “DateTime”:
return typeof(DateTime);
case “Integer”:
return typeof(int);
case “Number”:
return typeof(float);
default:
return 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
Cheers,
ודייַ
Excellent. Thanks Uday. Your post saved me lot of time in my migration project 🙂
You are welcome Jaya