繁体   English   中英

向现有的xml文件添加行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM