回答
最快最快,最快还是最快?例如:
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文档只能有一个根元素,因此您不能只将一个文档放在另一个文档之后。
我的意思是效率明智,但这是一个优雅的解决方案。 – dotnetdev 2012-02-13 10:34:52
@dotnetdev:那么试试看,看看它是否足够有效,你想做什么。在测试简单版本之前,不要开始编写更高效但更少可读的代码。 – 2012-02-13 10:36:13
我怀疑你将能够使用XML类来做到这一点。 XML库通常旨在防止您创建格式错误的XML,并且两个XML文档的连接将会很差,因为文档节点将有两个子元素。
如果.Net库确实允许你这样做,我建议你将它作为一个错误提升。
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();
我甚至不喜欢这个解决方案!
- 1. PHP拉,转换成XML,并追加到现有的XML文档
- 2. 如何从XML文档节点追加对现有的XML文档
- 3. 将XML文档附加到现有文档中
- 4. 的NullReferenceException追加孩子的XML文档
- 5. 写入到现有的XML文档
- 6. 将XML父节点插入到现有的xml文档中
- 7. c#将现有的XML文档与Linq复制到XML
- 8. Sedna:将XML文件添加到文档
- 9. 呈现xml文档
- 10. 将节点添加到现有的XML文档中
- 11. 插入从XML文档的XML元素添加到其他的XML文档
- 12. XML:将xml文档附加到另一个文档的节点中
- 13. 如何将xml文档添加到java中的另一个xml文档中
- 14. 将来自两个XML文档的节点附加到一个XML文档中
- 15. XQuery:将XML文档插入到第二个XML文档中
- 16. 的xml文档
- 17. Golang:将文件追加到现有的tar归档文件
- 18. 加载XML文档
- 19. 加载XML文档
- 20. 向XML文档追加多个类似的XML节点
- 21. 将注释添加到XML文档
- 22. 将属性添加到xml文档
- 23. 如何将xmlns添加到xml文档?
- 24. XSL到XML文档
- 25. 将数据附加到带有DOM文档的xml文件
- 26. 有外部引用的xml文档
- 27. 数据集 - > XML文档 - 将数据集加载到XML文档 - C#.net
- 28. 将xml文本结构添加到xml文档中
- 29. 插入XML节点和内部节点到现有的XML文档中的C#
- 30. 通过xml文档中的内部文本找到xml节点
我尝试了一些与节点等工作的东西,但乔恩的建议(下面)是更可读和明显的意图。 – dotnetdev 2012-02-13 10:34:34