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

时间:2015-04-05 14:02:03

标签: c# xml wpf vb.net

如果这个问题对你来说太容易了,我很抱歉,因为我刚开始学习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>

我要做的是在我现有的XML中添加另一首曲目。

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

1 个答案:

答案 0 :(得分:0)

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

以下是如何使用XmlDocument执行此操作的示例:

var xml =&#34; Baz&#34 ;;

    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

这是一个如何使用XDocument(更简单)的例子:

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)

这是一个正在运行的例子: https://dotnetfiddle.net/vY7Vag