我想在现有的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内容类似于beloW;
<DocumentElement>
<dtMasterPivot>
<SAMPLE_TIME>2017-08-02T09:53:14+03:00</SAMPLE_TIME>
<CPU>0</CPU>
<INST_ID>1</INST_ID>
</dtMasterPivot>
</DocumentElement>
我应该遵循哪条路?
答案 0 :(得分:0)
您应该考虑使用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);
}