我在阅读和处理xml文件时遇到问题,我现在无法解决.xml具有以下结构:
<root>
<test id="1">
<a></a>
<b></b>
<c></c>
</test>
<test id="2">
<a></a>
<b></b>
<c></c>
</test>
<test id="3">
<a></a>
<b></b>
<c></c>
</test>
</root>
XmlDocument Doc; int currentid=1;
XmlNode currentlyselectedtestnode =
Doc.SelectNodes("//test[@id = '" +
currentid.ToString() + "']");
string a = currentlyselectedtestnode.SelectSingleNode("//a");
string b = currentlyselectedtestnode.SelectSingleNode("//b");
string c = currentlyselectedtestnode.SelectSingleNode("//c");
Run Code Online (Sandbox Code Playgroud)
不幸的是,"currentselectedtestnode.SelectSingleNode("// a")"将读出所有"a"节点,而不仅仅是属于id为1的测试节点的节点.为什么?!不知怎的,当前选择了testnode.SelectSingleNode("// a"); 就像我写了Doc.SelectSingleNode("// a")一样工作;
怎么会 ?!我怎样才能让它只读取特定测试节点的子节点?ectedtestnode.SelectSingleNode("// c");