<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=346252320&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:346252320:41" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>

/// <summary>
/// 构建响应的xml字符串
/// </summary>
/// <param name="orederInfo"></param>
/// <returns></returns>
private string ConstructorXml(CreateOrderInfo orederInfo)
{
string text = "";

try
{
XmlDocument xmlDoc = new XmlDocument();
XmlDeclaration declaration = xmlDoc.CreateXmlDeclaration("1.0", "gb2312", null);
xmlDoc.AppendChild(declaration);
XmlElement order = xmlDoc.CreateElement("JIT-Order-Response");
XmlElement orderItem = xmlDoc.CreateElement("Response");

string[] nodeName = new string[23];
string[] node = new string[23];
nodeName[0] = "OrderNo";
node[0] = orederInfo.OrderNo;
nodeName[1] = "PNR";
node[1] = orederInfo.Pnr;
nodeName[2] = "StayDiscount";
node[2] = orederInfo.StayDiscount.ToString("0.00");
nodeName[3] = "GrowDiscount";
node[3] = orederInfo.GrowDiscount.ToString("0.00");
nodeName[4] = "PayMoney";
node[4] = orederInfo.PayMoney.ToString("0.00");
nodeName[5] = "Profit";
node[5] = orederInfo.Profit.ToString("0.00");

nodeName[6] = "Status";
if (true == this.AutoState)
{
node[6] = "1";
}
else
{
node[6] = "0";
}
nodeName[7] = "Date";
node[7] = orederInfo.Date;
nodeName[8] = "Scity";
node[8] = orederInfo.Scity;
nodeName[9] = "Ecity";
node[9] = orederInfo.Ecity;
nodeName[10] = "Flight";
node[10] = orederInfo.Flight;
nodeName[11] = "Stime";
node[11] = orederInfo.Date + " " + orederInfo.Stime;
nodeName[12] = "Etime";
node[12] = orederInfo.Date + " " + orederInfo.Etime;
nodeName[13] = "Cabin";
node[13] = orederInfo.Cabin;
nodeName[14] = "Price";
node[14] = orederInfo.Price.ToString("0.00");
nodeName[15] = "Tax";
node[15] = orederInfo.Tax.ToString("0.00");
nodeName[16] = "PCount";
node[16] = orederInfo.PCount.ToString();
nodeName[17] = "PName";
node[17] = orederInfo.PName;
nodeName[18] = "PCard";
node[18] = orederInfo.PCard;
nodeName[19] = "JouneryInfo";
node[19] = orederInfo.JouneryInfo;
nodeName[20] = "IsBuyInsurance";
node[20] = orederInfo.IsBuyInsurace;

if (true == orederInfo.IsAutoPay)
{
nodeName[21] = "AutoPay";

if (true == orederInfo.IsAutoPaySuucess)
{
node[21] = "T";

}
else
{
node[21] = "F";
}
}
else
{
nodeName[21] = "";
node[21] = "";
if (!string.IsNullOrEmpty(orederInfo.TradeNum))
{
nodeName[22] = "TenpayTransactionId";//财付通交易号
node[22] = orederInfo.TradeNum;
}
else { nodeName[22] = ""; node[22] = ""; }
}

for (int index = 0; index < nodeName.Length; index++)
{

if (!string.IsNullOrEmpty(nodeName[index]))
{
XmlElement orderNo = xmlDoc.CreateElement(nodeName[index]);
XmlText txt = xmlDoc.CreateTextNode(node[index]);
orderNo.AppendChild(txt);
orderItem.AppendChild(orderNo);
order.AppendChild(orderItem);
xmlDoc.AppendChild(order);
}
}

text = xmlDoc.OuterXml;
}
catch (Exception ex)
{
Log.Process("", this.guid, ClientHelper.GetClientIP(), "OrderInterface.cs", orederInfo.OrderNo, "根据PNR创建订单", "构建响应的xml字符串异常:" + ex.StackTrace);
//Logger.Log<FlightSearchProcessor>.LogError(ex);
text = "300047"; //构建xml响应数据异常
}

return text;
}

xml构建的更多相关文章

  1. Android开发 ---xml构建选项菜单、上下文菜单(长按显示菜单)、发通知、发送下载通知

    1.activity_main.xml 描述: 定义了一个TextView和三个按钮 <?xml version="1.0" encoding="utf-8&quo ...

  2. jenkins构建:通过testng.xml构建项目

    1.项目的pom.xml中build下添加maven插件,xmlFileName为可变参数 2.jenkins新建maven项目 构建脚本: 原文:https://www.jianshu.com/p/ ...

  3. mybatis学习(一)不使用 XML 构建 SqlSessionFactory

    如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中: <dependency> <groupId>org.mybatis&l ...

  4. Golang Gtk+3教程:GtkBuilder使用XML构建UI

    在这节我将介绍GtkBuilder,其使我们可以从一个描述界面的xml文件构建UI.而这个文件我们可以使用Glade生成,这会极大的方便我们编辑用户界面.这节我们会使用到这么一个XML文件,名字为Bu ...

  5. 【TestNG测试】TestNG、Maven、testng.xml构建测试工程

    创建一个maven工程 使用Idea创建maven工程 ​ 建立类似如上的工程结构,src/main/java,src/test/java,pom.xml,testng.xml,这里由于我们使用工程是 ...

  6. python基础教程总结15——3 XML构建网址

    要求: 网址用一个XML文件描述,其中包括独立网页和目录的信息: 程序能创建所需的目录和网页: 可以改变网址的设计,并且以新的设计为基础重新生成所有网页 概念: 网站:不用存储有关网站本身的任何信息, ...

  7. C#配合利用XML文件构建反射表机制

    在设计程序时,无论是界面或是后台代码,我们通常都想留给用户一个较为简单的接口.而我在参与封装语音卡开发函数包的时候,发现各种语音卡的底层函数的接口都是各种整形变量标记值,使用起来极为不变.于是就理解了 ...

  8. 两种方式(xml+代码)构建SqlSessionFactory+完整实现

    首先创建类.接口.数据库: entity包下Admin类: package com.wbg.springJavaConfig.entity; public class Admin { private ...

  9. XMl.02-约束

    DTD约束 DTD的书写位置 XML构建模块 DTD定义元素 DTD属性的定义 DTD实体的定义 schema约束 命名空间 schema约束的书写流程 XML被设计为一种很灵活的标记文档. 但是,有 ...

随机推荐

  1. array,vector对象 数组越界检测

  2. 03-24 Winform图表Chart

    图表主要分为以下几个部分: 1.Annotations--图形注解集合, 2.ChartAreas--图表区域集合, 3.Legends--图例集合, 4.Series--图表序列集合(即图表数据对象 ...

  3. 03-23 MVC框架(以查询、删除为例)

    1.MVC的定义: MVC(Model-View-Controller,模型-视图-控制器)是用于将应用程序粉好吃呢过如下3个主要方面的体系结构模式: 模型(Model):一组类和业务规则,类用于描述 ...

  4. C# 鼠标穿透窗体与恢复

    转自原文 C# 鼠标穿透窗体与恢复 引入user32.dll [DllImport("user32.dll")] public static extern uint SetWind ...

  5. tornado 之 异步非阻塞

    异步非阻塞 1.基本使用 装饰器 + Future 从而实现Tornado的异步非阻塞 import tornado.web import tornado.ioloop from tornado im ...

  6. 【转】Unity3d:读取FBX中的动画

    从模型中获得切割好的动画clip,并且对其中设置好的动画事件进行修改方法: 1.动画模型后缀为.FBX.在Unity3d中,能够显示FBX中的动画.要加载模型中的AnimationClip,只要Ass ...

  7. 学习Java必看书籍和步骤(转载)

    原地址:http://blog.csdn.net/yongjian1092/article/details/7372678 Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce ...

  8. Linux实战教学笔记34:企业级监控Nagios实践(上)

    一,Nagios监控简介 生活中大家应该对监控已司空见惯了,例如:餐馆门前的监控探头,小区里的视频监控,城市道路告诉监控探头等,这些监控的目的大家都很清楚,无须多说.那么,企业工作中为什么要部署监控系 ...

  9. nodemon 的坑

    1. 我的系统是ubuntu18.04.2 的 在使用过程中不知道什么为题 nodemon 运行的项目不在前台打印了项目, 我监听的端口 9302 一直在运行, 前台看不到 我想停止掉用 ps -ef ...

  10. Python binascii

    Python binascii模块 Python binascii模块 用处 包含的函数 相关内置函数 code使用示例 转载请标明出处(http://blog.csdn.net/lis_12/art ...