假设我有一个像这样的XML文档
<xml>
<food>
<banana>this is a banana</banana>
<apple>this is an apple</apple>
<grape>this is a grape</grape>
</food>
<food>
<cake>this is cake</cake>
<soda>this is soda</soda>
<cookie>this is a cookie</cookie>
</food>
</xml>
如何使用C#中的XMLDocument跳转到<food>
的第二个节点以获取食物?任何建议表示赞赏!
答案 0 :(得分:1)
XmlDocument xdcDocument = new XmlDocument();
xdcDocument.LoadXml(<xml string>);
XmlElement xelRoot = xdcDocument.DocumentElement;
XmlNodeList xnlNodes = xelRoot.SelectNodes("/food");
bool first = true;
foreach(XmlNode xndNode in xnlNodes)
{
if (first) {
first = false;
continue;
}
// process the second node here
}
答案 1 :(得分:0)
您可以使用Enumerable.Skip
(来自@JeroenvanLangen的想法),但这需要一些技巧:
XmlNodeList xnlNodes = Doc.SelectNodes("/food");
foreach(XmlNode node in xnlNodes.Cast<XmlNode>().Skip(1))
{
//do sth
}
因为XmlNodeList实现了接口IEnumerable
而不是IEnumerable<XmlNode>
,所以需要强制转换。