XElement 保存问题

发布于 2024-09-28 15:00:12 字数 460 浏览 1 评论 0原文

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

            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 文件,因此只保存最后一项。我缺少什么?谢谢。

I have to create a backup XML file every few minutes, here's the current code:

            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");

The problem is that it re-creates the XML file everytime, thus only the last item being saved. What am I missing? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

负佳期 2024-10-05 15:00:12

将节点附加到现有 .xml 文件。

首先,您创建具有空子元素的 Items.xml。

<?xml version="1.0" encoding="utf-8"?>
<Items>
</Items>

接下来,使用此代码加载 Items.xml 并向其附加节点。

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");

To append node to existing .xml file.

First you create the Items.xml with empty child elements.

<?xml version="1.0" encoding="utf-8"?>
<Items>
</Items>

Next, use this code to load Items.xml and append node to it.

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");
离去的眼神 2024-10-05 15:00:12

我已经尝试过这段代码(更改变量后)并且它工作正常:

    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");

I've tried this code (after changing the variables) and it worked correctly :

    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");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文