これは私のコードです:
using (StreamReader reader = new StreamReader("test.xml"))
{
int prev = ' ';
List<string> info = new List<string>();
StringBuilder temp = new StringBuilder();
for (int c; (c = reader.Read()) != -1; )
{
if (prev == '>' && c != '<')
{
while (c != '<')
{
if (c != ' ' && c != '\n' && c != '\r' && c != '\t') temp.Append((char)c);
c = reader.Read();
}
if (temp.Length > 0)
{
info.Add(temp.ToString());
Console.WriteLine(temp.ToString());
temp.Clear();
}
}
prev = c;
}
foreach (string item in info) Console.WriteLine(item);
}
XML ファイルから意味のあるコンテンツ (タグ間の情報) を読み取ろうとしています (.NET で実装されたメソッドなし)。プログラムはデータ チャンクを読み取り、それらをリストに正常に配置したように見えますが、ファイルの最後に到達すると、for ステートメントの後の残りのコードを実行せずにフリーズします。もうループしていないと言わざるを得ません-試してみましたが、フリーズするだけです。
XML ファイル:
<?xml version="1.0"><student><name>Pesho</name>
<age>21</age><interests count="3"><interest>
Games</instrest><interest>C#</instrest><interest>
Java</instrest></interests></student>