XmlNodeList list = null;
list = xmlResult.SelectNodes("/sitecore
/result
/item
[scWebsitePath='"+sitecoreContextItemPath+"'
and scTemplateId='"+templateId+"'
and scDateCreated > '"+publishedFrom+"'
and scDateCreated < '"+publishedTo+"']");
上面的代碼返回所有「已驗證」節點的列表。 也可以讓xPath檢查一個路徑,即。 「XXX/YYY/ZZZ /」,例如是節點的一部分給出的路徑是「XXX/YYY/ZZZ /」,我想返回該路徑下的項目:XmlNodeList xPath過濾節點
- 「XXX/YYY/ZZZ/ABC/DEF/GHI 「< - 將 有效
- 」XXX/YYY/ZZZ/ABC/DEF/GHI/JKL「 < - 將 有效
- 」 XXX/YYY/ZZZ/AAA/aaa/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 /'作爲另外兩個開始。 – 2010-11-04 01:46:44