gpt4 book ai didi

c# - 将新节点添加到 xml 末尾的最快方法?

转载 作者:数据小太阳 更新时间:2023-10-29 01:46:11 28 4
gpt4 key购买 nike

我有一个大的 xml 文件(大约 10 MB),结构如下:

<Errors>
<Error>.......</Error>
<Error>.......</Error>
<Error>.......</Error>
<Error>.......</Error>
<Error>.......</Error>
</Errors>

我的需要是在 标签之前的末尾添加一个新节点 。在 .net 中实现此目的最快的方法是什么?

最佳答案

您需要使用 XML 包含技术。

您的 error.xml(不会改变,只是一个 stub 。用于 XML 解析器读取):

<?xml version="1.0"?>
<!DOCTYPE logfile [
<!ENTITY logrows
SYSTEM "errorrows.txt">
]>
<Errors>
&logrows;
</Errors>

您的 errorrows.txt 文件(更改,xml 解析器不理解它):

<Error>....</Error>
<Error>....</Error>
<Error>....</Error>

然后,向 errorrows.txt 添加一个条目:

using (StreamWriter sw = File.AppendText("logerrors.txt"))
{
XmlTextWriter xtw = new XmlTextWriter(sw);

xtw.WriteStartElement("Error");
// ... write error messge here
xtw.Close();
}

或者您甚至可以使用 .NET 3.5 XElement,并将文本附加到 StreamWriter:

using (StreamWriter sw = File.AppendText("logerrors.txt"))
{
XElement element = new XElement("Error");
// ... write error messge here
sw.WriteLine(element.ToString());
}

另见 Microsoft's article Efficient Techniques for Modifying Large XML Files

关于c# - 将新节点添加到 xml 末尾的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/849043/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com