1

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

ファイルが上書きされます。

また、アプリケーションから再度データをリロードすると、新しいエントリが表示されます。

4

1 に答える 1