[英]Adding rows to existing xml file
我想向现有的xml文件添加行。 目前我在下面使用;
dtMasterPivot.WriteXml(AppDomain.CurrentDomain.BaseDirectory + pathname);
dtMasterPivot是一个具有1000多个行的数据表,其数据每15秒更新一次。 这就是为什么我不想每隔15秒从头重写整个xml文件的原因。
我想要的是将“结果”附加到现有的xml中;
var result = (from dr1 in dtTADetailsTempOld.AsEnumerable()
from dr2 in dtTADetailsTemp.AsEnumerable()
where dr1.Field<int>("INST_ID") == dr2.Field<int>("INST_ID")
select new
{
SAMPLE_TIME = dr1.Field<DateTime>("SAMPLE_TIME"),
CPU = Math.Round((dr2.Field<double>(1) - dr1.Field<double>(1)) / (timeTopActivity * 100), 2),
INST_ID = dr1.Field<int>("INST_ID"),
}).ToDataTable();
示例xml内容如下所示;
<DocumentElement>
<dtMasterPivot>
<SAMPLE_TIME>2017-08-02T09:53:14+03:00</SAMPLE_TIME>
<CPU>0</CPU>
<INST_ID>1</INST_ID>
</dtMasterPivot>
</DocumentElement>
我应该走哪条路?
您应该考虑使用XDocument
类来编辑XML文件。 您可以像这样简单地加载和添加行:
XDocument xdoc = XDocument.Load(FilePath);
var root = xdoc.Descendants("DocumentElement").FirstOrDefault()
if (root != null){
root.Add(new XElement("tag", "value"));
xdoc.Save(FilePath);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.