将xml文档附加到现有xml文档的底部
本文关键字:xml 文档 底部 | 更新日期: 2023-09-27 18:24:23
我有一个xml文档,想在它的底部附加另一个xml。使用.NET中的xml类,最快的方法是什么(在3.5中)?
感谢
在最高效时最快,还是在最简单时最快?例如:
XDocument doc1 = XDocument.Load(...);
XDocument doc2 = XDocument.Load(...);
// Copy the root element of doc2 to the end of doc1
doc1.Root.Add(doc2.Root);
doc1.Save(...);
或者,您可能想要:
// Copy the *contents* of the root element of doc2 to the end of doc1
doc1.Root.Add(doc2.Root.Descendants());
如果您能更准确地了解您的需求,我们可能会提供更多帮助。请注意,一个XML文档只能有一个根元素,所以不能只放一个文档接一个文档。
我怀疑您是否能够使用XML类来实现这一点。XML库通常旨在保护您不创建格式不正确的XML,而两个XML文档的串联将是格式不正确,因为文档节点将有两个子元素。
如果.Net库确实允许您这样做,我建议您将其作为一个bug提出。
var xml = new XmlDocument();
xml.AppendChild(...);
xml.PrependChild(...);
如果真的想要添加第二个根节点,最快的方法是逐行读取第一个文件并将其添加到第二个文件中。这是一种非常肮脏的方式,您将得到一个无效的xml文件!
System.IO.StreamWriter file1 = System.IO.File.AppendText(path);
System.IO.StreamReader file2 = new System.IO.StreamReader(path2)
while(!file2.EndOfStream)
{
file1.WriteLine(file2.ReadLine());
}
file1.Close();
file2.Close();
我甚至不喜欢这个解决方案!