XML格式如下:
<ModelConfigSet>
<ModelCofig ModelID="1" ModelName="面试知识">
<IsOutLink>False</IsOutLink>
<Url/>
<IsCreateClass>True</IsCreateClass>
<html/>
<IsOpen>True</IsOpen>
</ModelCofig>
<ModelCofig ModelID="2" ModelName="公交查询">
<IsOutLink>True</IsOutLink>
<Url>http://www</Url>
<IsCreateClass>False</IsCreateClass>
<html/>
<IsOpen>True</IsOpen>
</ModelCofig>
<ModelCofig ModelID="3" ModelName="列车查询">
<IsOutLink>True</IsOutLink>
<Url>http://www</Url>
<IsCreateClass>False</IsCreateClass>
<html/>
<IsOpen>True</IsOpen>
</ModelCofig>
</ModelConfigSet>问题:如何获取ModelID="2"的子节点集合,期待各位老鸟指导一下。我采用的:docXml.DocumentElement.SelectNodes("//ModelConfigSet[ModelConfig/ModelID='3']");提示不对,我想找个正确的答案。请大家捧场。
<ModelConfigSet>
<ModelCofig ModelID="1" ModelName="面试知识">
<IsOutLink>False</IsOutLink>
<Url/>
<IsCreateClass>True</IsCreateClass>
<html/>
<IsOpen>True</IsOpen>
</ModelCofig>
<ModelCofig ModelID="2" ModelName="公交查询">
<IsOutLink>True</IsOutLink>
<Url>http://www</Url>
<IsCreateClass>False</IsCreateClass>
<html/>
<IsOpen>True</IsOpen>
</ModelCofig>
<ModelCofig ModelID="3" ModelName="列车查询">
<IsOutLink>True</IsOutLink>
<Url>http://www</Url>
<IsCreateClass>False</IsCreateClass>
<html/>
<IsOpen>True</IsOpen>
</ModelCofig>
</ModelConfigSet>问题:如何获取ModelID="2"的子节点集合,期待各位老鸟指导一下。我采用的:docXml.DocumentElement.SelectNodes("//ModelConfigSet[ModelConfig/ModelID='3']");提示不对,我想找个正确的答案。请大家捧场。
docXml.Load(@configXML);
XmlNodeList xn = docXml.DocumentElement.SelectNodes("//ModelConfigSet/ModelConfig[@ModelID='"+ModelID+"']");
XmlNodeList xx = xn.Item(0).ChildNodes;运行到最好一句时候,出现错误:未将对象引用设置到对象的实例。这是哪里错了?
出现错误:未将对象引用设置到对象的实例。
是因为 xn 的length为0,所以你 xn.Item(0)的时候是没有对象实例的XmlNodeList xx = xn.Item(0).ChildNodes;就变成了XmlNodeList xx = null.ChildNodes;所以报错