0

私は C# プログラミングが初めてで、少し助けが必要です。この質問に対する答えを見つけようとしましたが、必要なものが見つかりませんでした。私の探し方が悪かったのかもしれません、申し訳ありません。

私はこのタイプのxmlファイルを持っています:

<ROW>
<ID>1256464</ID>
<TEST>
<PROJECT1>
<PROJECT1_ID>984461</PROJECT1_ID>
</PROJECT1>
<PROJECT2>
<PROJECT2_ID>614115</PROJECT2_ID>
</PROJECT2>
<PROJECT3>
<PROJECT3_ID>134998</PROJECT3_ID>
</PROJECT3>
</TEST>
<RESULTS>
<GRADE1>
<GRADE1_ID>6561616</GRADE1_ID>
</GRADE1>
<GRADE2>
<GRADE2_ID>6687979</GRADE2_ID>
</GRADE2>
<GRADE3>
<GRADE3_ID>13156665</GRADE3_ID>
</GRADE3>
</RESULTS>
</ROW>

多くの行があり、ファイルが非常に大きいです。だから私は XmlTextReader 関数を使用することになっています。少なくとも私は小さなコードを書きました:

    XmlTextReader reader = new XmlTextReader("items.xml");
    while (reader.Read())
    {
    XmlNodeType nodeType = reader.NodeType;
    if (nodeType == XmlNodeType.Element)
    {
    if (reader.NodeType == "ID")
    {
    //this node value i get to the console but others not, if them are in depth
    Console.WriteLine(reader.ReadString());
    }
    //tried to do this stuff i know it's wrong
    //but i cant get the value of this elment how should i loop through
    //and of course i need to reach grade1_id fields and loop through
    if (reader.NodeType == "PROJECT2_ID")
    {
    Console.WriteLine(reader.ReadString());
    }
    }
    }
4

1 に答える 1

0

あなたが書いた XML は無効であることを指摘したいと思います。タグ <GRADE_something_ID> には、実際には終了タグがありません。(つまり、2 番目のタグには /-thingy がありません)

例のタイプミスだと思いますか?そうしないと、この XML ファイルを解析するのに苦労するかもしれません。

于 2013-02-12T14:54:05.083 に答える