使用C#Linq修改XML文档

时间:2019-01-03 19:01:12

标签: c# xml linq xelement

我有一个应用程序,该应用程序遍历XML,然后从文件中的url下载文件。我的XML格式如下:

<FileDownloads>
<Downloads ID="1">
    <FriendlyName>MyFile</FriendlyName>
    <URL>http://www.MyDownloadURL.com?p=m/MyFileName</URL>
    <FileLocation>Tools\MyFIleName.exe</FileLocation>
<Selected>true</Selected>
<Switches></Switches>
</Downloads>

我在修改XML IE的元素时遇到麻烦:如果Url发生更改,并且还使用Xelement添加和删除整个元素。

我正在尝试下面的代码:

public void NewXML()
    {
        try
        {
            XDocument XDocAdd = XDocument.Load(path);
            XElement DL = new XElement("Downloads");
            DL.Add(new XElement("FriendlyName", prl.textBox_FN.Text));
            DL.Add(new XElement("URL", prl.textBoxURL.Text));
            DL.Add(new XElement("FileLocation", prl.textBoxFL.Text));
            DL.Add(new XElement("Selected", prl.checkBox_DL.Checked));
            DL.Add(new XElement("Switches", prl.textBox_Switches.Text));
            XDocAdd.Element("FileDownloads").Add(DL);
           XDocAdd.Save(@"C:\Test\Test10.xml");
        }
        catch (Exception err)
        {
            MessageBox.Show(err.Message);
            MessageBox.Show(err.InnerException.ToString());
        }


    }

我非常菜鸟,所以任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

尝试一下:

XElement DL = new XElement("Downloads",
                  new XElement("FriendlyName", prl.textBox_FN.Text),
                  new XElement("URL", prl.textBoxURL.Text),
                  new XElement("FileLocation", prl.textBoxFL.Text),
                  new XElement("Selected", prl.checkBox_DL.Checked),
                  new XElement("Switches", prl.textBox_Switches.Text));
XDocAdd.Element("FileDownloads").Add(DL);

使用XElement创建XML时,需要添加根据您的模式嵌套的XML。