0

我正在用 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; 行之后)它返回 false 并且没有移动到第一个孩子。

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

4

1 回答 1

2

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

于 2012-06-18T15:10:14.343 回答