3

私のコードでは、xml ファイルをダウンロードしています。ノードの 1 つが変数 (名前と数の両方) であるため、次のようなコードを使用します。

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

今私がする必要があるのは、「*」でスキップされたノードの名前を配列またはarraylistなどに保存することです。後で foreach を使用して、文字列として保存された各ノードで何かを行う必要があります。私が試してみました

foreach(* in MyArrayList)

ここで「 * 」を使用できないと仮定すると、いくつかのエラーが発生します。

4

1 に答える 1

3

それぞれXmlNodeにプロパティXmlNodeListがあります。それを使用して、xmlParentNodeのノードからノードに戻ることができます。arrivals*

次の Linq クエリは名前を取得する必要があります。

var names = arrivals.Cast<XmlNode>().Select(x => x.ParentNode.Name).ToList();

XmlNodeList はジェネリックインターフェイスCast<XmlNode>を実装していないため、これが必要です。IEnumerable

于 2012-12-23T23:23:23.120 に答える