将数据更新到XML文件c#

时间:2014-02-10 20:59:04

标签: c# xml

我在c#中的XML文件中更新数据时遇到问题。 更新过程没问题,但行添加在不好的地方。

情况看起来像这样:

更新数据的功能:

  public void WriteXML(){
        var xmlDoc = XElement.Load("reminds.xml");

        string nowaData = dataData.Text.ToString();
        string nowyOpis = tblOpis.Text.ToString();

        var nowePrzypo = new XElement("przypom",
            new XElement("data", nowaData),
            new XElement("opis", nowyOpis));

        xmlDoc.Element("przypom").Add(nowePrzypo);

        xmlDoc.Save("reminds.xml");
  }

更新前的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<dPrzypo>
    <przypom>
        <opis>xxxx</opis>
        <data>xxx</data>
    </przypom>
</dPrzypo>

更新后:

<dPrzypo>
    <przypom>
        <opis>xxxx</opis>
        <data>xxx</data>
        <przypom>
            <data>10 February 2014</data>
            <opis>hjkjk</opis>
        </przypom>
    </przypom>
</dPrzypo>

我想在&lt;中添加数据dPrzypo&GT; &LT; / dPrzypo&GT; 但是这个函数加入&lt; przypom&GT; &LT; / przypom&GT;

它是如何改变的?

2 个答案:

答案 0 :(得分:0)

尝试:

public void WriteXML(){
    var xmlDoc = XElement.Load("reminds.xml");

    string nowaData = dataData.Text.ToString();
    string nowyOpis = tblOpis.Text.ToString();

    var nowePrzypo = new XElement("przypom",
        new XElement("data", nowaData),
        new XElement("opis", nowyOpis));

    ***xmlDoc.Root.Add(nowePrzypo);***

    xmlDoc.Save("reminds.xml");

}

答案 1 :(得分:0)

看看以下示例

    [Fact]
    public void Test()
    {
        XElement root = XElement.Load("dPrzypo.xml");
        root.Add(
            new XElement(
                "przypom",
                new XElement("data", "10 February 2014"),
                new XElement("opis", "hjkjk")));
        root.Save("dPrzypo.xml");
    }