首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XElement保存问题

XElement保存问题
EN

Stack Overflow用户
提问于 2010-10-21 22:18:08
回答 2查看 4.6K关注 0票数 1

我必须每隔几分钟创建一个备份XML文件,下面是当前代码:

代码语言:javascript
复制
            XElement xml = new XElement("Items",
            new XElement("Backup",
            new XElement("Console", consoleName),
            new XElement("Begin", beginTime),
            new XElement("End", endTime),
            new XElement("Time", totalTime),
            new XElement("Price", totalPrice)

            xml.Save("Items.xml");

问题是它每次都会重新创建XML文件,因此只保存最后一项。我遗漏了什么?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-21 22:33:12

若要将节点附加到现有.xml文件,请执行以下操作。

首先,使用空子元素创建Items.xml。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<Items>
</Items>

接下来,使用此代码加载Items.xml并将节点附加到它。

代码语言:javascript
复制
XElement xml = new XElement("Backup",
new XElement("Console", consoleName),
new XElement("Begin", beginTime),
new XElement("End", endTime),
new XElement("Time", totalTime),
new XElement("Price", totalPrice));

XDocument xdoc = XDocument.Load("Items.xml");
xdoc.Element("Items").Nodes().Last().AddAfterSelf(xml);  //append after the last backup element
xdoc.Save("Items.xml");
票数 4
EN

Stack Overflow用户

发布于 2010-10-21 22:32:17

我试过这段代码(在改变变量之后),它工作正常:

代码语言:javascript
复制
    XElement xml = new XElement("Items",
        new XElement("Backup",
        new XElement("Console", "aa"),
        new XElement("Begin", "bb"),
        new XElement("End", "cc"),
        new XElement("Time", "dd"),
        new XElement("Price", "ee")));

    xml.Save(@"C:\Items.xml");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3988436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档