3

私はC#プログラミングに不慣れです。XMLドキュメントを解析し、コンソールに値を出力しようとしています。私のプログラムはエラーなしでコンパイルされていますが、望ましい結果が得られていません。

これがコードです。

XmlDocument doc = new XmlDocument();
doc.Load("C:\\Users\\hsyed\\Documents\\XMLParser\\Example.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("ab", "Identifier");
XmlNodeList node = doc.SelectNodes("//root/ab:Identity/Refrences/Reference/Value/text()", nsmgr);

String s= node.ToString();
System.Console.WriteLine(s);

Console.Read();

XMLファイル

    <Attributes>

        <Attribute Name="StudentFirstName" Tag="B"/>

    </Attributes>
</Metadata>
<Identities>
<Identity Identifier="00002C8DGPDDTZ5D" CDate="2013-02-07">
    <References>
        <Reference>
            <Value>A^S2513.268898|B^JOHN</Value>
            <Traces/>
        </Reference>
        <Reference>
            <Value>A^S2613.269022|B^JOHN</Value>
            <Traces/>
        </Reference>
    </References>
</Identity>
<Identity Identifier="000388MRUO7TRSBH" CDate="2013-02-07">
    <References>
        <Reference>
            <Value>A^S2513.285402|B^Doe</Value>
            <Traces/>
        </Reference>
        <Reference>
            <Value>A^S2613.285476|B^Doe</Value>
            <Traces/>
        </Reference>
    </References>
</Identity>

[値]フィールドの情報を取得したい。

ありがとう。

4

2 に答える 2

4

あなたの例を使用して:

XmlDocument doc = new XmlDocument(); 
doc.Load("C:\\Users\\hsyed\\Documents\\XMLParser\\Example.xml");

XmlNodeList nodes = doc.SelectNodes("//root/Identities/Identity/Refrences/Reference/Value/text()");

foreach (XmlNode xn in nodes)
{
    Console.WriteLine(xn.Value.ToString());
}
于 2013-02-14T18:45:23.487 に答える
3

LINQに便乗する代替手段は次のとおりです。

XmlDocument doc = new XmlDocument(); 
doc.Load("whatever path to xml");

var nodes = doc
    .SelectNodes("xpath query goes here")
    .Cast<XmlNode>()
    // optionally, convert to a list
    .ToList();

// Outputs something like: 
//   System.Collection.Generic.List`1[[System.Xml.XmlNode, ...]]
Console.WriteLine(nodes.GetType().FullName);
于 2013-02-14T20:45:18.260 に答える