-2

System.Xml.XmlNode私はこれに似たデータの配列を持っています:

[0] = <Node1 xmlns="---">N1Data</Node1>

[1] = <Node2 xmlns="---">N2Data</Node2>

[2] = <Node3 xmlns="---">N3Data</Node3>

LINQを使用して、Node2の内部データを選択するにはどうすればよいですか?これはXDocumentでは些細なことのように見えますが、外部リソースによって提供されるため、私のデータ形式は交渉できません。

前もって感謝します。

4

2 に答える 2

3

このように、多分?

XmlNode[] nodes = ...;
string value = nodes.Single(n => n.LocalName == "Node2").InnerXml;
// or .InnerText, depending on what you need.
于 2012-04-05T16:43:23.517 に答える
1

新しい回答XDocument:著者の要求により、まったく使用しないように完全に変更されました。

string[] elementArray = new[]
{
    "<Node1 xmlns=\"foo\">Bar</Node1>",
    "<Node2 xmlns=\"foo\">Bar</Node2>",
    "<Node3 xmlns=\"foo\">Bar</Node3>"
};

var search = "Node2";
string result = elementArray
    .Where(x => x.Split(' ').First().Substring(1) == search)
    .Select(x =>
    {
        int closeBrace = x.IndexOf(">");
        int openBrace = x.IndexOf("<", closeBrace);
        return x.Substring(closeBrace + 1, openBrace - closeBrace - 1);
    })
    .Single();
于 2012-04-05T17:08:21.160 に答える