<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. SlidingMenu Demo

    参考:http://www.krislq.com/2013/03/android_case_slidingmenu_fragment/ 我下载了它的例子,然后自己重写了一下,运行时总报错,原来是sup ...

  2. [转] 从数据库中读取图片并导入Excel文件,C#方式

    原文地址, 作者 Lvyou1980 直接源码吧. using System; using System.IO; using System.Data; using System.Drawing; us ...

  3. 2.redis配置

    转自:http://www.runoob.com/redis/redis-tutorial.html Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf. 你可以通过  ...

  4. MySQL Root密码丢失解决方法总结

    1. 检查my.cnf,看看有没有密码......靠这也算一条啊 2. 如果能够重启,首先使用–skip-grant-tables参数重启,然后改密码,再去掉–skip-grant-tables参数重 ...

  5. Ubuntu下配置eclipse环境

    一.安装JDK,配置Java环境变量 1.下载JDK,Java SE 8的官方网址是http://www.oracle.com/technetwork/java/javase/downloads/jd ...

  6. SQL 组内排序

    SELECT t_time, code, name, CL, row_number () OVER (partition BY t_time ORDER BY cl) AS 组内排名1, --T_ti ...

  7. Spring PropertyPlaceholderConfigurer占位符用法

    1.PropertyPlaceholderConfigurer是一个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现.PropertyPlacehol ...

  8. 关于js闭包的一些浅层面的理解

    function a() { var i = 0; function b() { alert(++i); } return b; } var c = a(); c(); 1.js分全局作用域和函数作用 ...

  9. ConditionalAttribute 类

    指示编译器应忽略方法调用或属性,除非已定义指定的条件编译符号. #define CONDITION1#define CONDITION2using System;using System.Diagno ...

  10. OPEN LDAP

    一.安装OPENLDAP 安装完成后退出 编辑两个文本,输入以下内容,并把文本文件改名为ldap01.ldif和ldap02.ldif. ldap01.ldif: dn: dc=maxcrc,dc=c ...