如何使用XPATH解析元素的所有子元素

时间:2012-06-18 14:55:42

标签: c# xpath

我使用XPATH解析xml文件

nodes = navigator.Select("/bk:ChaosPlan/bk:SubscriptionInfo",manager);
while (nodes.MoveNext())
        {
            XPathNavigator childNodes = nodes.Current.Clone();
            childNodes.MoveToFirstAttribute();
            string name = childNodes.Value;
            bool x = true;
            x= childNodes.MoveToFirstChild();
            string Id = childNodes.Value;
            subNamenAndId.Add(new Result(name, Id));
            childNodes.MoveToNext();
            certName = childNodes.Value;
            childNodes.MoveToNext();
            templateName = childNodes.Value;

}

但是当我搬到第一个孩子时(在bool x = true; line之后),它返回false而不是移动到第一个孩子。

我需要做的是,在运行查询后获取第一个元素的属性,然后遍历该元素的前3个子元素并存储这些值。

1 个答案:

答案 0 :(得分:2)

当您的XPathNavigator定位在属性调用http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathnavigator.movetoparent.aspx上时,首先能够转移到子节点。