首页 > 解决方案 > 使用 C# Linq 修改 XML 文档

问题描述

我有一个循环通过 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());
        }


    }

我是个菜鸟,所以任何帮助都会很棒!

标签: c#xmllinqxelement

解决方案


尝试这个:

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 时,您需要根据您的架构嵌套添加它们。


推荐阅读