public static string SelectUNnormalPriceSTrans(EUNnormalPriceS rqInfo)
{
string guidStrJianJclFirst = Guid.NewGuid().ToString().Replace("-", "").ToUpper();
string resultFileName = @"E:\PPrice\jianjcl" + guidStrJianJclFirst + ".xml";
if (!System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(resultFileName)))
{ System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(resultFileName)); } XmlTextWriter result = new XmlTextWriter(resultFileName, null);
try
{
if (rqInfo.Success == true)
{
result.WriteStartElement("BasicUnNormalPrice");
result.WriteStartElement("UnNormalPrices");
NPPrice port = new NPPrice();
if (rqInfo.listunpbi != null && rqInfo.listunpbi.Count > )
{
for (int i = ; i < rqInfo.listunpbi.Count; i++)
{
port = (NPPrice)rqInfo.listunpbi[i];
result.WriteStartElement("UnNormalPrice");
// 特价运价ID|航司|出发|到达|销售开始日期|销售结束日期|旅行开始日期|旅行结束日期|舱位等级|舱位|票面价|折扣|运价基础|...|运价来源|修改时间
string listValue = port.ID + "|" + port.AirCompany + "|" + port.DepartCode + "|" + port.ArriveCode.ToString() + "|" + port.SaleBeginTime.ToString() + "|" + port.SaleEndTime.ToString() + "|" + port.TravelBeginTime.ToString() + "|" + port.TravelEndTime.ToString() + "|" + port.Price.ToString() + "|" + + "|" + port.PriceBase.ToString() + "|" + port.Agio + "|" + port.PriceSource + "|" + port.AdvanceStartDay.ToString() + "|" + port.AdvanceEndDay.ToString() + "||||" + port.ApplyFlightNumber.ToString() + "|" + port.WeekNum + "|" + port.AddTime.ToString() + "|" + port.Cabin.ToString() + "|" + port.NotApplyFlightNumber.ToString() + "|||" + port.ApplyIntervalTime.ToString() + "|" + port.ModifyTime.ToString() + "|" + port.Status.ToString(); result.WriteString(listValue);
result.WriteEndElement();
listValue = null;
}
}
result.WriteEndElement();
result.WriteEndElement();
result.Flush();
result.Close();
GC.Collect();
XmlDocument xml = new XmlDocument();
xml.Load(resultFileName);
return xml.OuterXml;
}
else
{
return "<BasicUnNormalPrice><UnNormalPrices><BasicUnNormalPrice><Error Code='900001'>" + rqInfo.Msg.ToString() + "</Error></BasicUnNormalPrice></UnNormalPrices></BasicUnNormalPrice>";
}
}
catch (Exception ex) { return "<BasicUnNormalPrice><UnNormalPrices><BasicUnNormalPrice><Error Code='900001'>" + ex.Message.ToString() + "</Error></BasicUnNormalPrice></UnNormalPrices></BasicUnNormalPrice>"; }
finally
{
File.Delete(resultFileName);
GC.Collect();
}
}

c# 大量拼接xml时内存溢出解决方法的更多相关文章

  1. Android使用帧动画内存溢出解决方法

    Android使用帧动画内存溢出解决方法https://blog.csdn.net/daitu_liang/article/details/52336015https://blog.csdn.net/ ...

  2. jmeter 内存溢出解决方法

    执行“评论新鲜事”200并发就内存溢出 解决方法: [caozijuan@test09 bin]$ vi jmeter JVM_ARGS="-Xms1024m -Xmx4096m" ...

  3. Tomcat内存溢出解决方法

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...

  4. myeclipse tomcat内存溢出解决方法

    Tomcat直接启动正常,通过myeclipse启动tomcat内存溢出.MyEclipse启动Tomcat无视catalina.bat中设置内存大小的问题.在 tomcat的catalina.bat ...

  5. weblogic10内存溢出解决方法

    在开发过程中经常会遇到weblogic内存溢出问题,用下面的办法解决了. 找到domain/bin下的setDomainEnv.cmd文件,里面可以找到以下四行代码,将值该打一倍,重启服务. set ...

  6. JMeter学习(十)内存溢出解决方法

    使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="-Xmx2048m -Xms ...

  7. JDBC的批量查询报告内存溢出解决方法

    由于表中的数据过多(我的超过了50W+),查询select * from table ....报告内存溢出 Exception in thread "main" java.lang ...

  8. JMeter学习(二十八)内存溢出解决方法(转载)

    转载自 http://www.cnblogs.com/yangxia-test 使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jme ...

  9. JMeter学习-内存溢出解决方法

    现象:使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了 方法一: windows环境下,修改jmeter.bat: set HEAP=-Xms2 ...

随机推荐

  1. 总结 xib

    总结 其实,你完全不需要做一个 “艰难的决定”,你可以像 QQ 和微信那样,根据具体情况来选择性的使用 xib 和 storyboard.这里有我的一些建议: 对于复杂的.动态生成的界面,建议使用手工 ...

  2. Method Swizzling以及AOP编程:在运行时进行代码注入-备用

    概述 今天我们主要讨论iOS runtime中的一种黑色技术,称为Method Swizzling.字面上理解Method Swizzling可能比较晦涩难懂,毕竟不是中文,不过你可以理解为“移花接木 ...

  3. 管理TEMP数据

    SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE ---------- ---------- ------- ...

  4. 代理delegate、NSNotification、KVO在开发中的抉择

    在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信.在IOS应用不断的出现三种模式来实现这种通信: 1.委托delegation: 2.通 ...

  5. HTML--控制小人自由移动

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. python socket学习

    import socket localip=socket.gethostbyname(socket.gethostname()) print (localip) iplist=socket.getho ...

  7. Django之上传文件

    使用Form表单上传文件 upload.html <!DOCTYPE html> <html lang="en"> <head> <met ...

  8. Hive MapJoin

    摘要 MapJoin是Hive的一种优化操作,其适用于小表JOIN大表的场景,由于表的JOIN操作是在Map端且在内存进行的,所以其并不需要启动Reduce任务也就不需要经过shuffle阶段,从而能 ...

  9. c语言编程之sglib库的简单使用

    说实话自从大学毕业后已经很久没有用c语言写过程序了,一般都是使用c++,c++的stl和boost等,这些代码库大大简化了我们的编程复杂度.由于最近某种原因在次开始用c写程序.我是个比较懒的人,比较喜 ...

  10. Java操作属性文件,支持新增或更新多个属性

    Java操作属性文件.支持新增或更新多个属性 一.更新或新增单个属性的方法 /** * 写入properties信息 * @param filePath 绝对路径(包含文件名称和后缀名) * @par ...