C# · 12月 30, 2021

在C#中,有没有办法在磁盘上添加一个XML节点,而不加载它呢?

我在磁盘上有一个非常基本的 XML结构/文件,它类似于: <root> <data timestamp=”dd-mm-yyyy” type=”comment”>kdkdkdk</data> <data timestamp=”dd-mm-yyyy” type=”event”>kdkdkdkgffgfdgf</data> <data timestamp=”dd-mm-yyyy” type=”something”>kddsdsfsdkdkdk</data></root>

如上所述,XML将在磁盘上的外部文件中.由于文件可能会变得相当大(实际上每几个星期都会修剪),我不想先加载XML文件来添加新节点…

有没有办法添加这样的新节点?它可以被添加到顶部/底部等,因为实际使用XML的过程会按时间戳排序它.

我猜想一个粗略的方法是将节点附加为文本..但是我认为会添加节点之后的结束标签?

任何想法感激不尽
大卫.

解决方法 这里已经有了一些体面的答案,但是只要对此进行另一个转换,您确定这些数据需要作为XML文件存储吗?

您正在存储的数据看起来相当简单(即,具有三个字段,日期,类型和一些字符串数据的记录)如果您不需要XML提供的任何附加好处(see here),那为什么不使用基本的CSV?您可以通过File.AppendText(“filename”)像日志文件一样追加它.

(地狱,甚至可能使用像log4net这样的东西来管理日志记录和任何清理内务管理.)