我使用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个子元素并存储这些值。
答案 0 :(得分:2)
当您的XPathNavigator定位在属性调用http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathnavigator.movetoparent.aspx上时,首先能够转移到子节点。