xml构建
<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构建的更多相关文章
- Android开发 ---xml构建选项菜单、上下文菜单(长按显示菜单)、发通知、发送下载通知
1.activity_main.xml 描述: 定义了一个TextView和三个按钮 <?xml version="1.0" encoding="utf-8&quo ...
- jenkins构建:通过testng.xml构建项目
1.项目的pom.xml中build下添加maven插件,xmlFileName为可变参数 2.jenkins新建maven项目 构建脚本: 原文:https://www.jianshu.com/p/ ...
- mybatis学习(一)不使用 XML 构建 SqlSessionFactory
如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中: <dependency> <groupId>org.mybatis&l ...
- Golang Gtk+3教程:GtkBuilder使用XML构建UI
在这节我将介绍GtkBuilder,其使我们可以从一个描述界面的xml文件构建UI.而这个文件我们可以使用Glade生成,这会极大的方便我们编辑用户界面.这节我们会使用到这么一个XML文件,名字为Bu ...
- 【TestNG测试】TestNG、Maven、testng.xml构建测试工程
创建一个maven工程 使用Idea创建maven工程 建立类似如上的工程结构,src/main/java,src/test/java,pom.xml,testng.xml,这里由于我们使用工程是 ...
- python基础教程总结15——3 XML构建网址
要求: 网址用一个XML文件描述,其中包括独立网页和目录的信息: 程序能创建所需的目录和网页: 可以改变网址的设计,并且以新的设计为基础重新生成所有网页 概念: 网站:不用存储有关网站本身的任何信息, ...
- C#配合利用XML文件构建反射表机制
在设计程序时,无论是界面或是后台代码,我们通常都想留给用户一个较为简单的接口.而我在参与封装语音卡开发函数包的时候,发现各种语音卡的底层函数的接口都是各种整形变量标记值,使用起来极为不变.于是就理解了 ...
- 两种方式(xml+代码)构建SqlSessionFactory+完整实现
首先创建类.接口.数据库: entity包下Admin类: package com.wbg.springJavaConfig.entity; public class Admin { private ...
- XMl.02-约束
DTD约束 DTD的书写位置 XML构建模块 DTD定义元素 DTD属性的定义 DTD实体的定义 schema约束 命名空间 schema约束的书写流程 XML被设计为一种很灵活的标记文档. 但是,有 ...
随机推荐
- vs2010 安装 Ajax Control Toolkit
Ajax Control Toolkit 7.1005.0 The Ajax Control Toolkit contains a rich set of controls that you can ...
- django之admin站点
Admin站点 通过使用startproject创建的项目模版中,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用 ...
- Android六大进程间通信方式总结之一:基本知识
因为不同进程都是享有独立资源的,所以全局变量这些都是无效的,必须有其他的进程间通信方式. 一.基本知识 1:怎样使用多进程 Android正常使用的多进程的办法只有一种,就是在Service或Acti ...
- 转载----我与CMDB不得不说的故事
每次读到配置管理相关的书籍时,我总在想:“这些定义很精准,流程也很完整,但这不是真正的难题.”对于一个配置管理者来说,真正的难题不是绘制“庞大而精美”的数据模型,不是设计“全天候.无死角”的管控流程, ...
- Python 位运算符 逻辑运算符 成员运算符
位运算符 运算符 描述 实例 & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果12 ,二进制解释:0000 1100 | ...
- 前端开发之CSS篇二
主要内容: 一.CSS的继承性和层叠性 二.盒模型 三.padding属性 四.border属性 五.margin属性 六.标准文档流 七.行内元素和块状元素转换 1️⃣ CSS的继承性和层叠性 1 ...
- Lucene介绍及简单入门案例(集成ik分词器)
介绍 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和 ...
- strncmp memcmp区别
内部实现:前者逐每个字符进行比较,并判当前字符是否为0: 后者逐内存块进行比较. 效率:后者自然要优,不论从内部实现上,还是系统优化上. 场景:后者无法替代前者.在项目中遇到一种情况,两个字符串比较, ...
- Nginx源码完全注释(5)core/ngx_cpuinfo.c
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #include <ngx_config.h> #include ...
- ios-loadView
// 先判断当前控制器是不是从storyBoard中加载,如果是,就会加载stroyBoard的view // 判断是否是xib加载 // 否则创建一个空白的view // 如果重写了此方法, ...