のC#を使用してXMLファイルを保存します。私はこのXMLをしたユニバーサルアプリ
<?xml version="1.0" encoding="utf-8" ?>
<GirlsTimes>
<Angie>00:00:00</Angie>
...
<Nicole>00:00:00</Nicole>
</GirlsTimes>
私はあなたが形式で "hh:mm:ss" の時間を置くことができるテキストボックスました(TBAngieを)。どうやら<Angie>
ノード値が更新ウェルた
private async void TBAngie_LostFocus(object sender, RoutedEventArgs e)
{
try
{
if (!checkContent(TBAngie.Text))
{
TBAngie.Text = string.Empty;
var dialog = new MessageDialog("Veuillez encodez un temps hh:mm:ss svp.");
await dialog.ShowAsync();
}
else
{
StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = true;
using (XmlWriter xw = XmlWriter.Create(sb, xws))
{
string repMaxXMLPath = Path.Combine(Package.Current.InstalledLocation.Path, "XML/GirlsTimes.xml");
loadedData = XDocument.Load(repMaxXMLPath);
var items = from item in loadedData.Descendants("GirlsTimes")
where item.Element("Angie").Value != TBAngie.Text
select item;
foreach (XElement itemElement in items)
{
itemElement.SetElementValue("Angie", TBAngie.Text);
}
loadedData.Save(xw);
}
}
}
catch (Exception ex)
{
var dialog = new MessageDialog(ex.Message);
await dialog.ShowAsync();
}
}
(私はデバッグモードで更新されたノードを参照)、しかし: このテキストボックスにフォーカスが失われたとき、私は同じXMLファイルに新しい値を保存したいですページをリフレッシュ(現在のページを終了してリロード)すると、値は更新されませんでした。だから、新しいxmlを保存する私の方法は良くないと思うが、なぜか分からない...
私は間違っていた?前もって感謝します。
EDIT私は.toString()を作ったと、私はこれをしただけでloadedData.Save()
前
:
<GirlsTimes>
<Angie>00:12:34</Angie>
...
<Nicole>00:00:00</Nicole>
</GirlsTimes>
少なくとも1つの行があることを確認してください。 – jdweng
Saveを呼び出す前に 'loadedData.ToString()'を出力します。そこには何が見えますか? –
@Nox Noctis、私は編集しました。 ... –