我想創建一個編譯字符串來與XPathExpression一起使用它。我已經導航到一個子集並創建了一個迭代器。基於該迭代器的當前位置,我創建一個新的currentNode。現在我想要創建一個確切的表達式,只有那個節點,所以我可以創建一個只選擇這些子元素的迭代器。如何使用XPathNavigator訪問XML子項的索引?
public XPathNodeIterator extractSubChildIterator(XPathNavigator currentNode)
{
XPathNavigator nav = currentNode.Clone();
string myXPathString = "/"+ nav.LocalName + "["+ HOWDOIGETTHISNUMBER(nav) +"]";
while (nav.MoveToParent())
{
if (!(nav.Name == ""))
myXPathString = "/" + nav.LocalName + "[" + HOWDOIGETTHISNUMBER(nav) + "]" + myXPathString;
}
myXPathString += "/*";
XPathExpression expr = nav.Compile(myXPathString);
return currentNode.Select(expr);
}
函數HOWDOIGETTHISNUMBER()是我沒有完全得到的東西的佔位符。我立足於This Page在examplelist我表達字符串 - 「/目錄/ CD [1]選擇目錄的第一張CD的孩子」
好問題,+1。查看我的答案獲得簡單的解決方案。 :) – 2010-12-10 18:28:16