1

私はテキスト分類システムに取り組んでおり、テキスト ドキュメント内の単語を読み取り、解析し、辞書に保存してから、XML に保存しようとしています。

fileNames = openFileDialog1->FileNames;

StreamReader^ objReader = gcnew StreamReader(fileNames[0]);
String^ strReader = objReader->ReadToEnd();     //read it to a string
objReader->Close();

//cut the file up   
String^ delimStr = L"\r,\t,\n,' ','.',','"; //pull out the return,tabs,newline
array<Char>^ delimiter = delimStr->ToCharArray();//transform into an array
array<String^ > ^ strSplit = strReader->Split(delimiter);//split up the file
System::Collections::IEnumerator^ myenum = strSplit->GetEnumerator();//get enumerators 

Dictionary<String^, int>^ saveWords = gcnew Dictionary<String^, int>(StringComparer::InvariantCultureIgnoreCase);
int position=-1;

//output the file
while (myenum->MoveNext())//enumerate through it
{
        position++;
        try{
            saveWords->Add((Convert::ToString(myenum->Current)),0);
        }
        catch (Exception ^){
            //some code
        }

}

では、XMLSerializer はどのようにすればよいのでしょうか。

PSコードが混乱していて最適化されていない場合は申し訳ありません。私はこれらすべて(テキスト解析、辞書、XML)に不慣れで、これまでのところ、それを機能させようとしています。

4

1 に答える 1

1

はい、辞書を XML ファイルにシリアライズする必要があります。

http://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspx

FW 4+ の更新 (Hearty からのコメント):

最新のフレームワークで動作するには、ルート要素が必要です。

 In the WriteXML add a line:
 +49 writer.WriteStartElement("dictionary" ); 
 +70 writer.WriteEndElement( ); 

 In the ReadXML add lines 
 +27 reader.ReadStartElement( "dictionary" ); 
 +45 reader.ReadEndElement( )

;

于 2012-05-17T08:27:31.747 に答える