Archiver

Retreiving Content ຊີ​ໂດຍ​ຜ່ານ​ການ WebService ໃນ SharePoint 2003

ຕື່ມ​ການ webreference ເພື່ອ Lists.asmx ໃນ​ເວັບ​ໄຊ Page​:.

http://localhost / _vti_bin / Lists.asmx
(SharePoint URL Directory virtual / _vti_bin / Lists.asmx

ຂຽນ​ວິ​ທີ​ການ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ຢູ່​ໃນ​ເວັບ​ເຊີ​ຂອງ​ທ່ານ.

ສ່ວນ​ຕົວ data.DataTable GetDataTableFromWSS(bool onlySchema)
{
string WssSiteUrl = http://192.168.111.21;
string WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists ລາຍ = WssSite.Lists ໃຫມ່();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;

ຄວາມ​ຈິງ lists.PreAuthenticate =;
//ທ່ານ​ມີ​ຜ່ານ​ຊື່​ໃນ​ທີ່​ນີ້
string CommandText = “ຂໍ້​ມູນ​ພະ​ນັກ​ງານ”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement ຊີ = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“wss:ບັນ​ຊີ[@ Title = '{0}']”, CommandText), NameSpaceMgr);
ຖ້າ​ຫາກ​ວ່າ (null ບັນ​ຊີ​ລາຍ​ຊື່ ==)
{
ຖິ້ມ ArgumentException ໃຫມ່(String.Format(“ບັນ​ຊີ​ລາຍ​ຊື່ {0} ບໍ່​ສາ​ມາດ​ພົບ​ເຫັນ​ຢູ່​ໃນ​ເວັບ​ໄຊ​ໄດ້ {1}”, CommandText, WssSiteUrl));
}
string TechListName = List.GetAttribute(“ຊື່”);
ຜົນ data.DataTable = data.DataTable ໃຫມ່(“ບັນ​ຊີ​ລາຍ​ຊື່”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = System.Text.StringBuilder ໃຫມ່();
DISPLAYNAME System.Collections.Hashtable = System.Collections.Hashtable ໃຫມ່();
foreach (XmlElement ພາກ​ສະ​ຫນາມ​ໃນ ListInfoNode.SelectNodes(“wss:Fields / wss:ມື​ພາກ​ສະ​ຫນາມ”, NameSpaceMgr))
{
ຖ້າ​ຫາກ​ວ່າ (Field.HasChildNodes)
{
foreach (XmlElement Fld ໃນ Field.SelectNodes(“wss:Fields / 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);
}
}
ອື່ນ
{
string fieldName = Field.GetAttribute(“ຊື່”);
string 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(“Fields ເບິ່ງ”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, null, ທົ່ງ​ນາ, “1000000”, null);
// ພື້ນ​ທີ່​ຄົ້ນ​ຫາ​ສະ​ເຫມີ​ເລີ່ມ​ຕົ້ນ​ດ້ວຍ​ລະ​ຫັດ​ຕົວ​ເລກ, ຫຼັງ​ຈາກ​ນັ້ນ ;# ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ການ​ເປັນ​ຕົວ​ແທນ​ຊ່ອຍ​ແນ່.
// ພວກ​ເຮົາ​ມີ​ຄວາມ​ເປັນ​ປົກ​ກະ​ຕິ​ພຽງ​ແຕ່​ມີ​ຄວາມ​ສົນ​ໃຈ​ໃນ​ພຣະ​ນາມ, ດັ່ງ​ນັ້ນ​ພວກ​ເຮົາ​ລອກ​ເອົາ​ລະ​ຫັດ.
System.Text.RegularExpressions.Regex ​​CheckLookup = new System.Text.RegularExpressions.Regex(“ D ;#”);

foreach (Item XmlElement ໃນ ItemsNode.SelectNodes(“rs:ຂໍ້​ມູນ / z:ການ​ຕິດ​ຕໍ່​ກັນ”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (col ໃນ result.Columns data.DataColumn)
{
ຖ້າ​ຫາກ​ວ່າ (Item.HasAttribute(“ows_” + (ຊ່ອຍ​ແນ່)DISPLAYNAME[col.ColumnName]))
{
string val = Item.GetAttribute(“ows_” + (ຊ່ອຍ​ແນ່)DISPLAYNAME[col.ColumnName]);
ຖ້າ​ຫາກ​ວ່າ (CheckLookup.IsMatch((ຊ່ອຍ​ແນ່)ຊົ່ວ​ໂມງ))
{
string valString = val ເປັນ String;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// ການ​ມອບ​ຫມາຍ​ສາຍ​ໄປ​ຍັງ​ພາກ​ສະ​ຫນາມ​ທີ່​ຄາດ​ວ່າ​ຈ​ໍ​າ​ນວນ​ຫຼື
// ຄ່າ datetime implicitly ຈະ​ແປງ​ໃຫ້​ເຂົາ​ເຈົ້າ
newRow[ມີ] = H;
}
}
result.Rows.Add(newRow);
}
ຜົນ​ຕອບ​ແທນ;
}

// ການ​ເຮັດ​ວຽກ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ຮັບ Namespaces

ສ່ວນ​ຕົວ _nsmgr XmlNamespaceManager static;
ສ່ວນ​ຕົວ static XmlNamespaceManager NameSpaceMgr
{
ໄດ້​ຮັບ​ການ
{
ຖ້າ​ຫາກ​ວ່າ (null _nsmgr ==)
{
_nsmgr = XmlNamespaceManager ໃຫມ່(ໃຫມ່ 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”, “urn:schemas​-microsoft​-com:rowset”);
_nsmgr.AddNamespace(“ຈາກ”, “#RowsetSchema”);

}
ກັບ​ຄືນ _nsmgr;
}
}
TypeFromField ປະ​ເພດ​ເອ​ກະ​ຊົນ(ພາກ​ສະ​ຫນາມ XmlElement)
{
ສະ​ຫຼັບ (field.GetAttribute(“ປະ​ເພດ”))
{
ກໍ​ລະ​ນີ “DateTime”:
ກັບ​ຄືນ typeof(DateTime);
ກໍ​ລະ​ນີ “ຈໍາ​ນວນ​ເຕັມ”:
ກັບ​ຄືນ typeof(int);
ກໍ​ລະ​ນີ “ຈໍາ​ນວນ”:
ກັບ​ຄືນ typeof(ທີ່​ເລື່ອນ​ໄດ້);
ໃນ​ຕອນ​ຕົ້ນ:
ກັບ​ຄືນ typeof(ຊ່ອຍ​ແນ່);
}
}

4 ຄວາມ​ຄິດ​ເຫັນ​ໄປ​ຫາ​ເນື້ອ​ໃນ Retreiving ຊີ​ໂດຍ​ຜ່ານ​ການ WebService ໃນ SharePoint 2003

ອອກ​ຈາກ Reply ເປັນ

ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້ tags HTML ເຫຼົ່າ​ນີ້

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