XLINQ (LINQ to XML) を使用して XML をロードするための素晴らしいチュートリアルを見つけました。
http://www.codearsenal.net/2012/07/c-sharp-load-xml-using-xlinq.html
それは私を大いに助け、私はそれで仕事をやり遂げました。
私が行った唯一の変更は、彼がこの行を持っていた場所でした:
from e in XDocument.Load(@"..\..\Employees.xml").Root.Elements("employee")
私は次のように書きます。
from el in XDocument.Load("XML_Files/Employees.xml").Root.Elements("employee")
Visual Studio プロジェクト内にあるローカル xml ファイルにアクセスするには、このようにパスを変更する必要がありました。
しかし今、プロジェクト ソリューションのファイルにデータを保存する必要があります。繰り返しますが、xml ファイルは C# プロジェクト内にあります。デスクトップなどではなく、プロジェクト ソリューションに追加されたファイルです。
このタスクの実行方法に関する適切なリソースが見つからないようです。開始するための優れたチュートリアル、またはコード、リファレンスを知っている人はいますか?
オブジェクトのリストを xml ファイルに挿入しています。オブジェクトには、double の List であるオブジェクト プロパティの 1 つを除いて、基本的なデータ型プロパティがあります。
誰でも良いチュートリアルやリンクをアドバイスできますか? それとも一般的なコード サンプルですか?
この機能はできるだけ基本的なものにしたいと思います。
助けてください。
- - - - - - - - - アップデート - - - - - - - - -
私は実際にこの種の仕事をするようになりました。以下のコードは、Visual Studio プロジェクトのローカル ファイルにデータを書き込まないことを除いて、必要なことを行います。ただし、デスクトップに作成したテスト ファイルに喜んでデータを書き込みます。
これがなぜなのか誰か知っていますか??
//create the serialiser to create the xml
XmlSerializer serialiser = new XmlSerializer(typeof(List<Student>));
// Create the TextWriter for the serialiser to use
TextWriter Filestream = new StreamWriter(@"C:\\Users\\MyName\\Desktop\\output.xml");
//write to the file
serialiser.Serialize(Filestream, employees);
// Close the file
Filestream.Close();
- - - - アップデート - - - - -
わかりました。
このコードは機能します:
public void WriteXML()
{
//create the serialiser to create the xml
XmlSerializer serialiser = new XmlSerializer(typeof(List<Student>));
// Create the TextWriter for the serialiser to use
TextWriter Filestream = new StreamWriter(@"XML_Files\Employees.xml");
//write to the file
serialiser.Serialize(Filestream, employees);
// Close the file
Filestream.Close();
}
データは xml ファイルに挿入されますが、Visual Studio には表示されません。しかし、私がここでチェックしたとき:
C:\Users\Me\Desktop\MyProject\MyProject\bin\Debug\XML_Files
ファイルが上書きされます。
また、アプリケーションから再度データをリロードすると、新しいエントリが表示されます。