保存"跳过" xml中的节点到数组中

时间:2012-12-23 23:16:03

标签: c# xml arrays

在我的代码中,我正在下载一个xml文件,并且由于其中一个节点是可变的(它们的名称和数量),我使用这样的代码:

XmlNodeList arrivals = airplanes.SelectNodes("/myXml/flights/*/arrivals");

现在我需要做的是将“*”跳过的节点的名称保存到数组或arraylist中。稍后我将需要使用一些foreach对每个节点执行某些操作,现在保存为字符串。我试过了

foreach(* in MyArrayList)

并且不起作用,我在那里遇到了一些错误,假设我不能在这里使用“*”。

1 个答案:

答案 0 :(得分:3)

XmlNode中的每个XmlNodeList都有一个ParentNode属性,您应该可以使用该属性从xml中的arrivals节点导航回{ {1}}节点。

以下Linq查询应该得到名称:

*

需要var names = arrivals.Cast<XmlNode>().Select(x => x.ParentNode.Name).ToList(); ,因为XmlNodeList没有实现通用的Cast<XmlNode>接口。