XmlNodeList list = null;
list = xmlResult.SelectNodes("/sitecore
/result
/item
[scWebsitePath='"+sitecoreContextItemPath+"'
and scTemplateId='"+templateId+"'
and scDateCreated > '"+publishedFrom+"'
and scDateCreated < '"+publishedTo+"']");
Выше кода возвращает мне список всех «проверенных» узлов. Можно ли также проверить xPath на путь, т. Е. «Ххх/ууу/ZZZ /» является частью узла, например, если данный путь является «ххх/ууу/ZZZ /» и я хочу, чтобы пункты ниже этого пути должны быть возвращены:XmlNodeList xPath для отфильтрования Узлы
- «XXX/YYY/ZZZ/а/Защита/ГХИ "< - будет действительного
- "хой/ууу/ZZZ/а/Защита/ГХИ/JKL" < - будет действительным
- " хая/ууу/ZZZ/ааа/ааа/ZZZ»< - не будет действительного
я могу получить доступ к пути узла справляется ИНГ это:
XmlNode thisScPath = node.SelectSingleNode("scPath");
if (thisScPath == null)
continue;
Так я интересно, если я также могу сделать что-то вроде:
list = xmlResult.SelectNodes("/sitecore
/result
/item[scWebsitePath='"+sitecoreContextItemPath+"'
and scTemplateId='"+templateId+"'
and scDateCreated > '"+publishedFrom+"'
and scDateCreated < '"+publishedTo+"'
and scPath = '"+scPath+"/*']");
При удалении недействительных узлов из списка это позволит сэкономить мне много стресса из-за плохой работы. В конечном итоге я могу удалить недопустимые элементы с помощью инструкции C# string.IndexOf! = -1, но я хотел бы сделать это с помощью xPath, если это возможно. Это возможно?
@Alejandro: Можете ли вы объяснить, почему «xxx/yyy/zzz/aaa/aaa/zzz« '« недействительно? » Он также начинается с 'xxx/yyy/zzz /' как двух других. –