The C# equivalent code specifies query, queryOpts and viewFields with
XmlNode query    = xmlDoc.CreateNode(XmlNodeType.Element, "Query",
"");XmlNode ndViewFields  = xmlDoc.CreateNode(XmlNodeType.Element,
"ViewFields", "");XmlNode ndQueryOptions  =
xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");
ndQueryOptions.InnerXml = 
"<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" +      
"<DateInUtc>TRUE</DateInUtc>";ndViewFields.InnerXml  = "<FieldRef
Name='Title' /><FieldRef Name='Body'/>";
ndQuery.InnerXml =  "<Where><Gt><FieldRef Name='Expires'
IncludeTimeValue='TRUE'/>" +     "<Value Type='DateTime'>" +
DateToIso8601(System.DateTime.Now) + "</Value></Gt></Where>";

XmlNode ndListItems = listService.GetListItems("Announcements", null,
ndQuery, ndViewFields, null, ndQueryOptions, null);

Here's the C++ code I've got so far.  while the query works, I'd like to
be able to specify a query, queryOpts and viewFields like in the C#
code...
ListsSoap       announcementsService; _ns2__GetListItems    
announcementQuery; _ns2__GetListItemsResponse   announcementResponse; 
_ns2__GetListItems_query   query;  _ns2__GetListItems_queryOptions 
queryOpts; _ns2__GetListItems_viewFields  viewFields;
string        sListName;
sListName       = "Announcements";
announcementQuery.listName   = &sListName; announcementQuery.query    =
&query;  announcementQuery.queryOptions  = &queryOpts;
announcementQuery.viewFields  = &viewFields;
// -- Query SYSTEMTIME   tmNow; CStringA   sTime; string    sTimeNow; 
GetSystemTime(&tmNow);  sTime.Format("%4d-%2d-%2dT%2d:%2d:%2dZ",
tmNow.wYear, tmNow.wMonth, tmNow.wDay, tmNow.wHour, tmNow.wMinute,
tmNow.wSecond); sTimeNow  = (LPCSTR) sTime;  string sQuery =
"<Where><Gt><FieldRef Name='Expires' IncludeTimeValue='TRUE'/><Value
Type='DateTime'>" + sTimeNow + "</Value></Gt></Where>";
int nResponse =
announcementsService.__ns10__GetListItems(&announcementQuery,
&announcementResponse);

Reply via email to