我想合并一些 xml 文件。目标 xml 与源文件略有不同。目标文件包含一个附加的根元素。
例如。
目标xml:
<?xml version="1.0" encoding="utf-8"?>
<customer ID="A0001" name="customername">
.....
.....
</customer>
源代码:
<?xml version="1.0" encoding="utf-8"?>
<order number="00001">
<.....>
<.....>
<.....>
</order>
每个源 xml 文件都需要在<customer ...>
和之间插入</customer>
源文件可能非常大(例如 2 Gb)。
我可以使用根元素编写目标 xml 文件并使用 XmlTextReader 读取源文件和
string myOrder = textReader.ReadOuterXml();
writer.WriteRaw(myOrder );
结果(每个订单都是不同的 xml 文件)
<?xml version="1.0" encoding="utf-8"?>
<customer ID="A0001" name="customername">
<order number="00001">
<.....>
<.....>
<.....>
</order>
<order number="00002">
<.....>
<.....>
<.....>
</order>
<order number="00003">
<.....>
<.....>
<.....>
</order>
</customer>
但我担心使用 ReadOuterXml() 的大文件内存不足。
有什么建议吗?