C# Xdocument保存方法是如何工作的?

C# Xdocument保存方法是如何工作的?,c#,xml,windows-phone-8,C#,Xml,Windows Phone 8,我正在构建一个WindowsPhone8应用程序。我已经有了一个XML,当应用程序启动时,它应该将数据从XML加载到Longlistselectors 我有一个后台工作人员从URL加载XML,保存到另一个XML文件,然后重新加载该XML并更新Longlistselector 代码如下: private async void BwDoWork(object sender, DoWorkEventArgs e) { var xdoc = XDocument.Load("AP

我正在构建一个WindowsPhone8应用程序。我已经有了一个XML,当应用程序启动时,它应该将数据从XML加载到
Longlistselectors

我有一个后台工作人员从URL加载XML,保存到另一个XML文件,然后重新加载该XML并更新
Longlistselector

代码如下:

 private async void BwDoWork(object sender, DoWorkEventArgs e)
    {
        var xdoc = XDocument.Load("APPSDATA.xml");
        var listnode = from c in xdoc.Descendants("Ungdung") select c;
        var xElements = listnode as IList<XElement> ?? listnode.ToList();
        foreach (var xElement in xElements)
        {
            var element = xElement.Element("Id");
            if (element != null)
            {
                var appId = element.Value;
                var appVersion = await GetAppsVersion(appId);
                xElement.SetElementValue("Version", appVersion.ToString());
            }
        }
        var file = new FileStream("APPSDATA.xml", FileMode.Open);

        xdoc.Save(file);
    }

Save方法不是您的问题,您似乎不了解
backgroundworker
线程。sleep
如何工作,当do work中的最后一行完成时,将调用run worker completed,不知道为什么thread.sleep会起作用,它所做的只是暂停执行编辑XDocument将文件路径作为参数,因此不知道filestream for XDocument save方法是什么,只接受Stream、TextWriter或XmlWriter:|
private void BwRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        Thread.Sleep(10000);
        SystemTray.SetIsVisible(this, false);  

    }