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. Nokia N9开启开发者模式

    最近淘宝买个二手Nokia N9,纯粹是好奇meego系统. 到手了开始折腾,官方源早关闭了,导致无法开启开发者模式,没有权限很不方便.翻了翻dospy论坛的帖子,发现了n9repomirror_0. ...

  2. 编译recovery及过程中的部分错误解决

    你必须使用32位或64位Ubuntu系统,关于如何建立编译环境和同步源码的指导,请自己查找有关指导的文章. 1, 安装所需要的包 2, 建立编译的环境,并同步CWM所需的源码,CyanogenMod源 ...

  3. 剑指offer中二进制中1的个数

    容易想到的是将n一位一位的和1进行比较,产生如下代码 但是这样的话会出下面的问题 那么就是原数据不动,将1依次移动进行比较有如下的代码 一种更简单的方法是: 这样做的思路是 总而言之

  4. cf C. Vasya and Robot

    http://codeforces.com/contest/355/problem/C 枚举L和R相交的位置. #include <cstdio> #include <cstring ...

  5. 自制单片机之七……扩展:DS18B20温度测量

    DS18B20数字温度测量传感器,网上介绍很多,我就不罗嗦了.见图 DS18B20与前产品DS1820的不同: DS18B20继承了DS1820的全部优点,并做了如下改进 1.供电范围扩大为3.0-- ...

  6. qmake和moc的功能(★firecat推荐★)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://devbean.blog.51cto.com/448512/355100 前面我们 ...

  7. 微软开源PowerShell并支持Linux和OS X

    [微软在开源的道路上加速度了] 从一开始的各种对抗,各种通吃,到现在开始做服务,包罗万象.果然,换了主力,大有不同. 微软今天还宣布开源其.NET框架,令.NET Core能在Linux和OS X上运 ...

  8. 【转】android 开发 命名规范

    原文网址:http://www.cnblogs.com/ycxyyzw/p/4103284.html 标识符命名法标识符命名法最要有四种: 1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外, ...

  9. Corrupted MAC on input

    Corrupted MAC on input Incorrect MAC received on packet

  10. C++ double类型转string类型后,怎么实现小数点后只显示一个数字

    C++ double类型转string类型后,怎么实现小数点后只显示一个数字 #include <iostream> #include <sstream> #include & ...