<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. 异步编程之Generator(2)——剖析特性

    异步编程系列教程: (翻译)异步编程之Promise(1)--初见魅力 异步编程之Promise(2):探究原理 异步编程之Promise(3):拓展进阶 异步编程之Generator(1)--领略魅 ...

  2. 【Oracle】Oracle 10g利用闪回挽救误删的数据

    我们在开发和运维过程中,经常遇到数据被误删除的情况.无论是在应用开发中的Bug,还是修改数据的时候,如果提交了错误数据修改结果,会带来很多问题.一般来说,一旦提交commit事务,我们是不能获取到之前 ...

  3. delphi 线程 TTask

    http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Threading.TTask http://docwiki.embarcader ...

  4. delphi BLE 学习

    TBluetoothLE 控件 TBluetoothLE.FManager: TBluetoothLEManager; class constructor TBluetoothLEManager.Cr ...

  5. StringUtils的isNotEmpty和isNotBlank

    StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx():今天笔者记录下常用的isNotEmpty和isNotBlank:这两个都是 ...

  6. MFC单文档分割区(CSplitterWnd)

    用VS08程序向导,单文档程序,默认设置生成的.工程名为3view; 其中默认生成的视图类CMy3viewView,对应3viewView.h,3viewView.cpp; 在Resourse Vie ...

  7. 服务器意外重启导致storm报错的问题处理

    解决方法 cat /opt/storm-0.8.2/conf/storm.yaml中找到storm.local.dir设定的目录,备份supervisor和workers两个文件夹,#nohup su ...

  8. PHP 数组中出现中文乱码,json_encode返回结果为null 或false

    想要解决这个问题,没有特别方便的方法,只有循环数组,将数组中的key和value字符串转码,转换为utf-8,即可解决问题. 代码示例:

  9. 使用heap profiler进行内存占用分析

    最近在项目中用到了google的heap profiler工具来分析内存占用,效果非常显著,因此在这里写一篇博客记录一下使用过程中遇到的一些问题. heap profiler依赖于tcmalloc,所 ...

  10. 如何查看Mysql服务器上的版本

    select version(); 1,mysql 的守护进程是mysqld [root@localhost ~]# service mysqld start 启动 MySQL: [确定] 你可以看看 ...