C# 在XML VB或C中追加新元素#

C# 在XML VB或C中追加新元素#,c#,xml,wpf,vb.net,C#,Xml,Wpf,Vb.net,如果这个问题对您来说太简单,我很抱歉,因为我刚刚开始学习XML是如何工作的。我试图做的是在App/Library中添加一个新元素,例如,我从这个开始 <?xml version="1.0" encoding="utf-8"?> <App> <Library> <Count>100</Count> <Track> <TrackID>1</Trac

如果这个问题对您来说太简单,我很抱歉,因为我刚刚开始学习XML是如何工作的。我试图做的是在App/Library中添加一个新元素,例如,我从这个开始

<?xml version="1.0" encoding="utf-8"?>
<App>
    <Library>
        <Count>100</Count>
        <Track>
            <TrackID>1</TrackID>
            <Name>New York</Name>
            <Artist>Snow Patrol</Name>
        </Track>
    </Library>
</App>

100
1.
纽约
雪地巡逻队
我试图做的是在现有XML中添加另一个曲目

        <Track>
            <TrackID>2</TrackID>
            <Name>Chasing Cars</Name>
            <Artist>Snow Patrol</Name>
        </Track>

2.
追逐
雪地巡逻队

在.NET中有几种处理xml操作的方法。较旧的样式使用System.Xml.XmlDocument或使用System.Xml.Linq.XDocument方法

下面是一个关于如何使用XmlDocument的示例:

var xml=“Baz”

下面是一个关于如何使用XDocument(更简单)实现的示例:

var xml=“Baz”;
var xdoc=XDocument.Parse(xml)//将原始xml字符串加载到Linq XDocument对象中
xdoc.Root.Add(新的元素(“条”,“条2”))//将Bar2添加到foo(它是文档的根目录)
下面是一个运行示例:

    var doc = new XmlDocument();
    doc.LoadXml(xml);                               //Load up the original xml string into XmlDocument object

    var fooNode = doc.SelectSingleNode("//foo");    //use xpath to get to the top level foo element

    var newBar = doc.CreateElement("bar");          //Create a new bar element and assign it's inner text
    newBar.InnerText = "Baz2";

    fooNode.AppendChild(newBar);    //append the newly created bar element to foo
var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><foo><bar>Baz</bar></foo>";

        var xdoc = XDocument.Parse(xml);                //Load up the original xml string into Linq XDocument object
        xdoc.Root.Add(new XElement("bar", "Bar2"));     //Add <bar>Bar2</bar> to foo (which is root of the document)