SharePoint WebService aracılığıyla Listesi İçerik Retreiving 2003

Sharepoint site Lists.asmx için webreference ekle.

http://localhost / _vti_bin / Lists.asmx
(SharePoint sanal Dizin URL / _vti_bin / Lists.asmx

sizin webcoder aşağıdaki yöntemleri yazmak.

Özel data.DataTable GetDataTableFromWSS(bool onlySchema)
{
dize WssSiteUrl = http://192.168.111.21;
dize WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists listeleri = new WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;

= true lists.PreAuthenticate;
//Burada Liste Adını geçmek zorunda
dize CommandText = “Çalışan Bilgisi”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement Listesi = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“wss:Liste[@ Başlık = '{0}']”, CommandText), NameSpaceMgr);
eğer (Liste == null)
{
Yeni ArgumentException(String.Format(“liste {0} Sitede bulunamadı {1}”, CommandText, WssSiteUrl));
}
dize TechListName = List.GetAttribute(“Adı”);
data.DataTable sonuç = yeni data.DataTable(“liste”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = Yeni System.Text.StringBuilder();
System.Collections.Hashtable displaynames = Yeni System.Collections.Hashtable();
foreach (ListInfoNode.SelectNodes içinde XmlElement Alan(“wss:Alanları / wss:Alan”, NameSpaceMgr))
{
eğer (Field.HasChildNodes)
{
foreach (Field.SelectNodes içinde FLD XmlElement(“wss:Alanları / wss:Alan”, NameSpaceMgr))
{
Dize = FIELDNAME Fld.GetAttribute(“Adı”);
Dize = FieldDisplayName Fld.GetAttribute(“Ekran adı”);
eğer (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Alan));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
başka
{
dize FieldName = Field.GetAttribute(“Adı”);
dize FieldDisplayName = Field.GetAttribute(“Ekran adı”);
eğer (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Alan));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
eğer (onlySchema) Dönüş sonucu;
XmlElement alanlar = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, boş, alanlar, “1000000”, boş);
// Arama alanları her zaman sayısal kimliği ile başlar, sonra ;# ve sonra dize temsil.
// Biz normalde isim sadece ilgilendi, bu yüzden kimliğini şerit.
System.Text.RegularExpressions.Regex CheckLookup = Yeni System.Text.RegularExpressions.Regex(“^ D ;#”);

foreach (ItemsNode.SelectNodes içinde XmlElement Öğe(“rs:Eldeki / z:sıra”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (result.Columns içinde data.DataColumn col)
{
eğer (Item.HasAttribute(“ows_” + (dizi)DisplayNames[col.ColumnName]))
{
dize val = Item.GetAttribute(“ows_” + (dizi)DisplayNames[col.ColumnName]);
eğer (CheckLookup.IsMatch((dizi)saat))
{
dize valString = val String olarak;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Numaraları veya beklediği bir alana bir dize atama
// datetime değerleri örtük onları dönüştürmek olacak
newRow[ile] = H;
}
}
result.Rows.Add(newRow);
}
Dönüş sonucu;
}

// Aşağıdaki Fonksiyon Namespaces Get kullanılır

özel statik XmlNamespaceManager _nsmgr;
özel statik XmlNamespaceManager NameSpaceMgr
{
almak
{
eğer (_nsmgr == null)
{
_nsmgr = Yeni XmlNamespaceManager(Yeni NameTable());
_nsmgr.AddNamespace(“wss”, “http://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“ile”, “Uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “Uuid:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“rs”, “semaver:şemalar-microsoft-com:satır kümesi”);
_nsmgr.AddNamespace(“itibaren”, “#RowsetSchema”);

}
_nsmgr dönüş;
}
}
Özel Tip TypeFromField(XmlElement alan)
{
anahtar (field.GetAttribute(“Tip”))
{
durum “DateTime”:
Typeof dönüş(DateTime);
durum “Tamsayı”:
Typeof dönüş(int);
durum “Numara”:
Typeof dönüş(şamandıra);
Varsayılan:
Typeof dönüş(dizi);
}
}

4 SharePoint WebService ile retreiving Listesi İçeriğe yorumlar 2003

Bir Yanıt bırak

Kullanabileceğiniz Bu HTML etiketleri

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>