使用XmlWriter附加到父标记内

时间:2015-01-29 10:06:22

标签: c# .net xml asp.net-mvc-4

我正在使用此代码写入xml文档。问题是我每次调用此代码时都会覆盖以前编写的Tags元素。

但是我想在Tag元素中添加多个Tags元素。如何使用XmlWriter制作此类集?

        using (XmlWriter writer = XmlWriter.Create(path))
        {
            writer.WriteStartElement("Tags");
            writer.WriteElementString("Tag", tagName);
            writer.WriteEndElement();
        }

我发现了很少涉及LINQ的解决方案,我不太擅长。所以没有它,我正在寻找一些东西?

1 个答案:

答案 0 :(得分:0)

这可以通过Linq Xml来完成:

public void AddTagToXml(string path, string tag)
{
    XDocument doc;

    // Load the existing file
    if (File.Exists(path)) doc = XDocument.Load(path);
    else
    {
        // Create a new file with the parent node
        doc = new XDocument(new XElement("Tags"));
    }

    doc.Root.Add(new XElement("tag", tag));

    doc.Save(path);
}

在每个函数调用中打开并保存文件并不是非常有效,但它可以满足您的要求。