我正在尝试从SharePoint列表中获取具有匹配名称的客户 我尝试过:
XmlDocument doc = new XmlDocument();
doc.LoadXml("<Query><Where><Lt><FieldRef Name=\"CustomerName\"/><Value Type=\"Text\">" + customerName + "</Value></Lt></Where></Query>");
XmlNode listQuery = doc.SelectSingleNode("//Query");
XmlNode n = sharePoint.listsObj.GetListItems(listName, null, listQuery, null, null, null, null);
nsmgr = new XmlNamespaceManager(n.OwnerDocument.NameTable);
nsmgr.AddNamespace("z", "#RowsetSchema");
nsmgr.AddNamespace("rs", "urn:schemas-microsoft-com:rowset");
XmlNodeList itemNodeList = n.SelectNodes("rs:data/z:row", nsmgr);
但是在itemNodeList中,我得到的客户名称与我在查询中使用的参数(customerName)完全不相似。
如果我没有传递查询,我会从列表中获取所有客户。
有什么想法吗?
提前致谢。
答案 0 :(得分:2)
如果您想获得完全匹配的名称,请使用Eq标记
例如来自
以下
<Query><Where><Eq><FieldRef Name="CustomerName"/><Value Type="Text">Smith</Value></Eq></Where></Query>
将返回
如果要返回包含该字符串的名称,请使用Contains标记
<Query><Where><Contains><FieldRef Name="CustomerName"/><Value Type="Text">Smith</Value></Contains></Where></Query>
将返回
查看U2U CAML Builder