XML ファイルを使用して Windows 8 Metro スタイル テスト アプリケーションを作成しています。ファイルとノードの読み取りが機能しており、それらの編集と削除が含まれています。
私が今直面している問題で、完了する方法がわからないのは、ノードの追加です。以下は、読み取りと保存に使用しているコードです。
private static async System.Threading.Tasks.Task<XmlDocument> LoadXML()
{
StorageFolder storageFolder = ApplicationData.Current.RoamingFolder;
StorageFile storageFile = await storageFolder.GetFileAsync("Settings.xml");
var XmlFile = await XmlDocument.LoadFromFileAsync(storageFile);
return XmlFile;
}
private static async System.Threading.Tasks.Task SaveXML(XmlDocument XmlFile)
{
StorageFolder storageFolder = ApplicationData.Current.RoamingFolder;
StorageFile storageFile = await storageFolder.GetFileAsync("Settings.xml");
await XmlFile.SaveToFileAsync(storageFile);
MessageDialog Message = new MessageDialog("Data is saved/removed!", "Notification");
await Message.ShowAsync();
}
以下のこの部分は、上記の 2 つを参照するイベントです。コードのこの部分では、テキスト ボックスからの情報に基づいて新しいノードを追加する必要があります。
private async void btnSaveproject_Click(object sender, RoutedEventArgs e)
{
var XmlFile = await LoadXML();
await SaveXML(XmlFile);
}
削除と編集をどのように行ったのか疑問に思っている人のために、コードのこれらの部分をここのすぐ下に追加します。
// Removing
IXmlNode Node = XmlFile.SelectSingleNode("XML").SelectSingleNode("List").SelectSingleNode(lvList.SelectedItem.ToString());
XmlFile.SelectSingleNode("XML").SelectSingleNode("List").RemoveChild(Node);
//Saving
XmlFile.SelectSingleNode("XML").SelectSingleNode("Colors").SelectSingleNode("ColorR").InnerText = tbxColorR.Text;