0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
private XmlNode GetListItemsXML(bool _flag, string _param, SPList _list)
{
SPQuery oEmptyQuery = new SPQuery();
SPListItemCollection spliColl;
XmlReaderSettings sett = new XmlReaderSettings();
Stream stream;
XmlReader reader;
XmlDocument listItems = new XmlDocument();
string str = "";
try
{
switch (_flag)
{
case true:
//select division
oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"URL\"/><Value Type=\"Text\">" + _param + "</Value></Eq></Where>";
spliColl = _list.GetItems(oEmptyQuery);
str = c_my_headFile + spliColl.Xml;
str.Replace("\r\n", "");
stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
sett.ConformanceLevel = ConformanceLevel.Auto;
reader = XmlReader.Create(new StringReader(str), sett);
listItems.LoadXml(str);
return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
//return listItems.SelectSingleNode("xml").ChildNodes[1];
case false:
//select articles
//_x0420__x0430__x0437__x0434__x04
oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"_x0420__x0430__x0437__x0434__x04\" LookupId=\"TRUE\" /><Value Type=\"Lookup\">" + _param + "</Value></Eq></Where>";
spliColl = _list.GetItems(oEmptyQuery);
str = c_my_headFile + spliColl.Xml;
str.Replace("\r\n", "");
stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
sett.ConformanceLevel = ConformanceLevel.Auto;
reader = XmlReader.Create(new StringReader(str), sett);
listItems.LoadXml(str);
//return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
return listItems.SelectSingleNode("xml").ChildNodes[1];
}
}
catch (XmlException)
{
return null;
}
catch (Exception)
{
return null;
}
return null;
}
Метод, у которого говорящая сигнатура. Увидев ее можно сразу понять что делает этот мегакусок.
Если кто-нибудь поймет зачем создается экземпляр ридера - объясните. Блин я не понял, честно... xD
(SPQuery и др. это опять же SharePoint API.)
Запостил:
dreaktor ,
13.11.2010 (Updated 24.03.2018 )
Комментарии (4) RSS