从数据库中生成XML文件
前台页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" language="javascript">
function CheckFileType() {
var objButton = document.getElementById("uploadFile");//选择文件控件
var uploadSubBtn = document.getElementById("uploadSubBtn");//提交按钮 var FileName = new String(objButton.value);//文件名
var extension = new String(FileName.substring(
FileName.lastIndexOf(".") + 1, FileName.length));//文件扩展名 if (extension == "xls")//你可以添加扩展名
{
uploadSubBtn.disabled = false;//启用上传按钮
} else {
alert("您选择的不是excel文件,请选择excel文件!");
uploadSubBtn.disabled = true;//禁用上传按钮
objButton.outerHTML = objButton.outerHTML; //这样清空,在IE8下也能执行成功
objButton.select();
document.selection.clear(); //好像这种方法也可以清空 input file 的value值,不过我没测试
}
} function CheckAuditedFileType() {
var objButton = document.getElementById("uploadAuditedFile");//选择文件控件
var uploadSubBtn = document.getElementById("uploadAuditedBtn");//提交按钮 var FileName = new String(objButton.value);//文件名
var extension = new String(FileName.substring(
FileName.lastIndexOf(".") + 1, FileName.length));//文件扩展名 if (extension == "xml")//你可以添加扩展名
{
uploadSubBtn.disabled = false;//启用上传按钮
} else {
alert("您选择的不是xml文件,请选择xml文件!");
uploadSubBtn.disabled = true;//禁用上传按钮
objButton.outerHTML = objButton.outerHTML; //这样清空,在IE8下也能执行成功
objButton.select();
document.selection.clear(); //好像这种方法也可以清空 input file 的value值,不过我没测试
}
}
</script>
<title>Insert title here</title> </head>
<body>
<form id="uploadFileForm" action="../upload/uploadSaleData"
method="post" enctype="multipart/form-data">
<input id="uploadFile" type="file" name="file"
onchange="javascript:CheckFileType()" /> <input id="uploadSubBtn"
type="submit" disabled="disabled" value="上传" />
</form>
<br />
<form id="disposeFlightDataForm" action="../upload/disposeFlightData"
method="post">
<input id="disposeFlightDataButton" type="submit" value="处理航班数据" />
</form>
<br />
<form id="importSalesDataForm" action="../upload/importSalesData"
method="post" enctype="multipart/form-data">
<input id="importSalesData" type="submit" value="导入销售数据" />
</form>
<br />
<br />
<h1>引擎:</h1>
<form id="testXmlForm" action="../upload/testCreateXml" method="post"
enctype="multipart/form-data">
<input id="createXML" type="submit" value="生成引擎XML" />
</form>
<br />
<br />
<form id="uploadAuditedFileForm" action="../upload/uploadAuditedXML"
method="post" enctype="multipart/form-data">
<input id="uploadAuditedFile" type="file" name="file"
onchange="javascript:CheckAuditedFileType()" /> <input
id="uploadAuditedBtn" type="submit" disabled="disabled"
value="上传引擎审核结果文件" />
</form>
</body>
</html>
后台代码
@Controller
@RequestMapping(value = "/upload")
public class UploadSaleDataAction类
@Autowired
private StoreEngineResult engineResult; @RequestMapping(value = "/testCreateXml")
public String testCreateXml() {
engine.createEngineInputFile();
return GO_UPLAODEXCEL;
}
@JobTypeAnnotation(value = "CREATE_ENGINE_INPUT_INTERFACE", contextType = ContextType.ParallelJobContext)
@Component
public class CreateEngineInputInterface类
createEngineInputFile()方法
/**
* 生成引擎输入接口文件
*/
public void createEngineInputFile() {
// 根据是否送引擎标识(C:无需送;N:待送;Y:已送;)查询Sal_Tkt表的字段ToEngineInd='N'的票
List<Ticket> tickets = ticketService.findTicketByToEngineInd("M");
log.info("共有" + tickets.size() + "张需要送引擎的票");
if (tickets != null && tickets.size() > 0) {
long start = System.currentTimeMillis(); // 创建文档的根节点
Element root = DocumentHelper.createElement("TRANSACTIONS");
Document document = DocumentHelper.createDocument(root); for (Ticket ticket : tickets) {
Element transaction = root.addElement("TRANSACTION"); String saleType = ticket.getTicketBasicSale().getSaleType();
if ("N".equals(saleType)) {
CreateNormalTicketElement(ticket, transaction);
} if ("E".equals(saleType)) {
List<OldCoupon> oldRefundResissueCoupon = CreateExchangeTicketElement(false,
ticket, transaction); /* 前一张oldTickets */
Ticket oldTicket = ticketService.findTicketByTktNo(oldRefundResissueCoupon.get(
0).getTktNo()); if (oldTicket != null) {
Element former = transaction.addElement("FORMER"); String saleTypeE = oldTicket.getTicketBasicSale().getSaleType();
if ("N".equals(saleTypeE)) {
CreateNormalTicketElement(oldTicket, former);
} if ("E".equals(saleTypeE)) {
CreateExchangeTicketElement(true, oldTicket, former);
}
}
} if ("R".equals(saleType)) {
List<OldCoupon> oldRefundResissueCoupons = CreateRefundTicketElement(ticket,
transaction); Set<String> oldTktNos = new HashSet<String>();
for (OldCoupon oldCoupon : oldRefundResissueCoupons) {
oldTktNos.add(oldCoupon.getTktNo());
} Element former = null;
if (oldTktNos.size() > 0) {
former = transaction.addElement("FORMER");
} /* 前一张oldTickets */
/* 退票获取旧票 */
String saleTypeR = "";
while (oldTktNos.size() > 0) {
Ticket oTicket = ticketService.findTicketByTktNo(oldTktNos.iterator()
.next());
// 删除集合中的票号
oldTktNos.remove(oldTktNos.iterator().next());
if (oTicket != null) {
saleTypeR = oTicket.getTicketBasicSale().getSaleType();
if ("N".equals(saleTypeR)) {
CreateNormalTicketElement(oTicket, former);
} if ("E".equals(saleTypeR)) {
CreateExchangeTicketElement(true, oTicket, former);
} // 删除联票票号
List<ConjunctionTicket> cnjs = oTicket.getConjunctionTickets();
if (cnjs != null) {
for (ConjunctionTicket conjunctionTicket : cnjs) {
if (oldTktNos.contains(conjunctionTicket.getTktNo())) {
oldTktNos.remove(conjunctionTicket.getTktNo());
}
}
}
}
}
}
} try {
CreateXmlUtil.writeXml(document);
} catch (Exception e) {
log.error("创建文件失败!" + e.getMessage());
}
long end = System.currentTimeMillis();
log.info("生成文件共用时:"+ (end - start));
}
}
CreateNormalTicketElement方法
正常票
private void CreateNormalTicketElement(Ticket ticket, Element transaction) {
NormalTicket normalTicket = (NormalTicket) ticket;
List<FciSector> fciSectors = normalTicket.getFciSectors();
List<CouponTax> couponTaxs = normalTicket.getCouponTaxs();
List<Tax> ticketTaxs = normalTicket.getTaxs();
List<FciFareComponent> fareComponets = normalTicket.getFciFareComponents(); CreateXmlUtil.GenerateTicketElement(transaction, normalTicket, fciSectors, couponTaxs,
ticketTaxs, fareComponets, null);
}
换票
CreateXmlUtil类
CreateExchangeTicketElement public static final String UPLOAD_DIR = "/usr/app/saleData";
private List<OldCoupon> CreateExchangeTicketElement(boolean isOld, Ticket ticket,
Element transaction) {
ExchangeTicket exchangeTicket = (ExchangeTicket) ticket;
List<FciSector> fciSectors = exchangeTicket.getFciSectors();
List<CouponTax> couponTaxs = exchangeTicket.getCouponTaxs();
List<Tax> ticketTaxs = exchangeTicket.getTaxs();
List<FciFareComponent> fareComponets = exchangeTicket.getFciFareComponents();
List<OldCoupon> oldRefundResissueCoupon = null;
if (!isOld) {
oldRefundResissueCoupon = exchangeTicket.getOldCoupons();
} CreateXmlUtil.GenerateTicketElement(transaction, exchangeTicket, fciSectors, couponTaxs,
ticketTaxs, fareComponets, oldRefundResissueCoupon);
return oldRefundResissueCoupon;
}
添加需要导出的xml元素节点
public static Element GenerateTicketElement(Element transaction, Ticket ticketObj,
List<FciSector> fciSectors,
List<CouponTax> couponTaxs, List<Tax> ticketTaxs,
List<FciFareComponent> fareComponets,
List<OldCoupon> oldCoupons) {
Element ticket = transaction.addElement("TICKET"); // ticket属性赋值
GenerateTicketAttributeElement(ticket, ticketObj); // 给TICKET节点添加COUPON子节点
if (fciSectors != null) {
for (FciSector fciSector : fciSectors) {
GenerateSectorElement(ticket, fciSector);
}
} // 给TICKET节点添加FARECOMPONET子节点
if (fareComponets != null) {
for (FciFareComponent fareComponent : fareComponets) {
GenerateFareComponetElement(ticket, fareComponent);
}
} // 给TICKET节点添加TICKETTAX子节点
if (ticketTaxs != null) {
for (Tax ticketTax : ticketTaxs) {
GenerateTicketTaxElement(ticket, ticketTax);
}
} // 给TICKET节点添加COUPONTAX子节点
if (couponTaxs != null) {
for (CouponTax couponTax : couponTaxs) {
GenerateCouponTaxElement(ticket, couponTax);
}
} // 给TICKET节点添加OLDREFUNDRESISSUECOUPON子节点
if (oldCoupons != null) {
for (OldCoupon oldCoupon : oldCoupons) {
GenerateOldCouponElement(ticket, oldCoupon);
}
} return transaction;
}
其他元素的节点添加依次类推
/**
* // 给TICKET节点添加FARECOMPONET子节点
*
* @param ticket
*/
private static void GenerateFareComponetElement(Element ticket, FciFareComponent fareComponent) {
Element fareComponetObj = ticket.addElement("FARECOMPONET");
fareComponetObj.addElement("AT_NO").addText(
fareComponent.getAtNo() == null ? "" : fareComponent.getAtNo().toString());
fareComponetObj.addElement("FARE_BASIS").addText(
fareComponent.getFareBasis() == null ? "" : fareComponent.getFareBasis());
fareComponetObj.addElement("AT_AMT").addText(
fareComponent.getAtAmt() == null ? "" : fareComponent.getAtAmt().toString());
fareComponetObj.addElement("SC_IND").addText(
fareComponent.getScInd() == null ? "" : fareComponent.getScInd());
fareComponetObj.addElement("EMS_NUM").addText(
fareComponent.getEmsNum() == null ? "" : fareComponent.getEmsNum());
fareComponetObj.addElement("CONSTRUCT_CITY").addText(
fareComponent.getConstructCity() == null ? "" : fareComponent.getConstructCity());
fareComponetObj.addElement("UPL_CITY").addText(
fareComponent.getUplCity() == null ? "" : fareComponent.getUplCity());
fareComponetObj.addElement("DIS_CITY").addText(
fareComponent.getDisCity() == null ? "" : fareComponent.getDisCity()); }
将添加完的xml元素添加到需要写入的元素中
/**
* 写xml
*
* @param document
* @throws UnsupportedEncodingException
* @throws FileNotFoundException
* @throws IOException
*/
public static void writeXml(Document document) throws UnsupportedEncodingException,
FileNotFoundException, IOException {
// 把生成的xml文档存放在硬盘上 true代表是否换行
OutputFormat format = new OutputFormat(" ", true);
format.setEncoding("UTF-8");// 设置编码格式
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(UPLOAD_DIR + File.separator
+ "transaction.xml"), format);
// XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("E:/usr/app/saleData/transaction.xml"), format);
xmlWriter.write(document);
xmlWriter.close();
}
生成的xml 文件
<?xml version="1.0" encoding="UTF-8"?> <TRANSACTIONS>
<TRANSACTION>
<TICKET>
<TKT_NO>7818507521899</TKT_NO>
<AIRLINE_CODE>MU</AIRLINE_CODE>
<SALE_TYPE>N</SALE_TYPE>
<SALE_SOURCE>ATK</SALE_SOURCE>
<AGENT_NO>08677349</AGENT_NO>
<AGENT_NAME>东航商务网站(SHA777)国内DB2C</AGENT_NAME>
<AGENT_COUNTRY>CN</AGENT_COUNTRY>
<ET_TYPE>C</ET_TYPE>
<ISSUE_DATE>2015-08-30</ISSUE_DATE>
<REPORT_CUR>CNY</REPORT_CUR>
<RMT_AMT>880</RMT_AMT>
<PGN_TYPE>ADT</PGN_TYPE>
<PNR_NO>ND8Q54</PNR_NO>
<ENDORSEMENT>不得签转</ENDORSEMENT>
<TOUR_CODE>WEB15002</TOUR_CODE>
<FCMI_IND>0</FCMI_IND>
<STATION>SHA</STATION>
<ISSUE_POINT>SHA</ISSUE_POINT>
<SALE_COUNTRY>CN</SALE_COUNTRY>
<GROUP_TKT_IND>N</GROUP_TKT_IND>
<DI_IND>D</DI_IND>
<FREE_IND>N</FREE_IND>
<CNJ_IND>Y</CNJ_IND>
<CNJ_TKT_NO>7818507521899</CNJ_TKT_NO>
<CNJ_SEQ>1</CNJ_SEQ>
<CNJ_COUNT>2</CNJ_COUNT>
<OAI_IND></OAI_IND>
<CHANGE_FEE>0</CHANGE_FEE>
<FLIGHT_MISS_FEE>0</FLIGHT_MISS_FEE>
<FOP1>CA</FOP1>
<FOP2>CC</FOP2>
<FOP3>CA</FOP3>
<FOP4>CC</FOP4>
<ISSUE_TIME>150010</ISSUE_TIME>
<GOV_IND>N</GOV_IND>
<GOV_DIVISION>G</GOV_DIVISION>
<TO_FARE_AUDIT_IND>Y</TO_FARE_AUDIT_IND>
<TO_COMM_AUDIT_IND>Y</TO_COMM_AUDIT_IND>
<TO_TAX_AUDIT_IND>Y</TO_TAX_AUDIT_IND>
<ACC_FARE_SALE_AMT>10</ACC_FARE_SALE_AMT>
<FARE_SALE_AMT>830</FARE_SALE_AMT>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<COMM_RATE_SALE_AMT>0</COMM_RATE_SALE_AMT>
<COMM_SALE_AMT>0</COMM_SALE_AMT>
<TRAVEL_START_DATE>2015-10-10</TRAVEL_START_DATE>
< VAT_SALE_AMT>10</ VAT_SALE_AMT>
< INTERLINE_IND>Y</ INTERLINE_IND>
<SECTOR>
<CPN_NO>1</CPN_NO>
<TKT_NO>7818507521899</TKT_NO>
<IT_SEQ>1</IT_SEQ>
<AT_NO>1</AT_NO>
<STOPOVER_IND>X</STOPOVER_IND>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<UPL_CITY>BJS</UPL_CITY>
<DIS_CITY>KMG</DIS_CITY>
<UPL_COUNTRY>CN</UPL_COUNTRY>
<DIS_COUNTRY>CN</DIS_COUNTRY>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<OPERATE_CARRIER>MU</OPERATE_CARRIER>
<MARKET_FLIGHT_NO>5708</MARKET_FLIGHT_NO>
<OPERATE_FLIGHT_NO>5708</OPERATE_FLIGHT_NO>
<TICKET_CLASS>V</TICKET_CLASS>
<FARE_BASIS>VXS</FARE_BASIS>
<CABIN_CLASS>Y</CABIN_CLASS>
<FLIGHT_DATE>2015-09-01</FLIGHT_DATE>
<DATE_IND>N</DATE_IND>
<NVBD>2015-10-10</NVBD>
<NVAD>2015-10-10</NVAD>
<FLT_DEPT_TIME>2035</FLT_DEPT_TIME>
<FLT_ARR_TIME>2035</FLT_ARR_TIME>
<FREE_XBG>5</FREE_XBG>
<FARE_SALE_AMT>15</FARE_SALE_AMT>
<FARE_BREAK>N</FARE_BREAK>
<FC_CARRIER>MU</FC_CARRIER>
<TAX_SALE_AMT>53</TAX_SALE_AMT>
<USED_IND>N</USED_IND>
<COUP_STATUS>F</COUP_STATUS>
<ACTUAL_FLIGHT_DATE>2015-10-05</ACTUAL_FLIGHT_DATE>
<COUP_TYPE>T</COUP_TYPE>
<BA_IND>T</BA_IND>
<REFUND_TRAVEL_TIME_DIF>10</REFUND_TRAVEL_TIME_DIF>
<PNR_CANCEL_DATE>2015-10-01</PNR_CANCEL_DATE>
</SECTOR>
<FARECOMPONET>
<AT_NO>1</AT_NO>
<FARE_BASIS>T</FARE_BASIS>
<AT_AMT>450</AT_AMT>
<SC_IND>Y</SC_IND>
<EMS_NUM>10</EMS_NUM>
<CONSTRUCT_CITY>SHA</CONSTRUCT_CITY>
<UPL_CITY>XIY</UPL_CITY>
<DIS_CITY>HGH</DIS_CITY>
</FARECOMPONET>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>CN</TAX_CODE>
<XF_CODE>001</XF_CODE>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<PUBLISH_CUR>CNY</PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND>N</PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>YQ</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>OB</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>S</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>OC</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>S</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<COUPONTAX>
<TKT_NO>7818507521899</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE>CN</TAX_COUNTRY_CODE>
<TAX_CODE>CN</TAX_CODE>
<TAX_TYPE>YQ</TAX_TYPE>
<TAX_SUBCODE>1</TAX_SUBCODE>
<SU_IND>U</SU_IND>
<TAXPOT_TAG>D</TAXPOT_TAG>
<PERCENT_FLAG>F</PERCENT_FLAG>
<TAX_TIMES_IND>U</TAX_TIMES_IND>
<REFUND_IND>N</REFUND_IND>
<COMM_IND>N</COMM_IND>
<TAX_IND>E</TAX_IND>
<PUBLISH_REF_CUR>CNY</PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION>QS</DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND>Y</SPLIT_IND>
<EXLIM_IND>Y</EXLIM_IND>
</COUPONTAX>
<COUPONTAX>
<TKT_NO>7818507521899</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE></TAX_COUNTRY_CODE>
<TAX_CODE>YQ</TAX_CODE>
<TAX_TYPE></TAX_TYPE>
<TAX_SUBCODE></TAX_SUBCODE>
<SU_IND></SU_IND>
<TAXPOT_TAG></TAXPOT_TAG>
<PERCENT_FLAG></PERCENT_FLAG>
<TAX_TIMES_IND></TAX_TIMES_IND>
<REFUND_IND></REFUND_IND>
<COMM_IND></COMM_IND>
<TAX_IND></TAX_IND>
<PUBLISH_REF_CUR></PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION></DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND></SPLIT_IND>
<EXLIM_IND></EXLIM_IND>
</COUPONTAX>
</TICKET>
</TRANSACTION>
<TRANSACTION>
<TICKET>
<TKT_NO>7818520011581</TKT_NO>
<AIRLINE_CODE>MU</AIRLINE_CODE>
<SALE_TYPE>E</SALE_TYPE>
<SALE_SOURCE>ATK</SALE_SOURCE>
<AGENT_NO>08639059</AGENT_NO>
<AGENT_NAME>上海携程国际旅行社有限公司(OTA)</AGENT_NAME>
<AGENT_COUNTRY>CN</AGENT_COUNTRY>
<ET_TYPE>C</ET_TYPE>
<ISSUE_DATE>2015-09-01</ISSUE_DATE>
<REPORT_CUR>CNY</REPORT_CUR>
<RMT_AMT>197</RMT_AMT>
<PGN_TYPE>ADT</PGN_TYPE>
<PNR_NO>NGGEYD</PNR_NO>
<ENDORSEMENT>舱换开</ENDORSEMENT>
<TOUR_CODE>QS</TOUR_CODE>
<FCMI_IND>0</FCMI_IND>
<STATION>SHA</STATION>
<ISSUE_POINT>SHA</ISSUE_POINT>
<SALE_COUNTRY>CN</SALE_COUNTRY>
<GROUP_TKT_IND>N</GROUP_TKT_IND>
<DI_IND>D</DI_IND>
<FREE_IND>N</FREE_IND>
<CNJ_IND>Y</CNJ_IND>
<CNJ_TKT_NO>7818520011581</CNJ_TKT_NO>
<CNJ_SEQ>1</CNJ_SEQ>
<CNJ_COUNT>2</CNJ_COUNT>
<OAI_IND></OAI_IND>
<CHANGE_FEE>0</CHANGE_FEE>
<FLIGHT_MISS_FEE>0</FLIGHT_MISS_FEE>
<FOP1>CA</FOP1>
<FOP2>CC</FOP2>
<FOP3>CA</FOP3>
<FOP4>CC</FOP4>
<ISSUE_TIME>220000</ISSUE_TIME>
<GOV_IND>N</GOV_IND>
<GOV_DIVISION>G</GOV_DIVISION>
<TO_FARE_AUDIT_IND>N</TO_FARE_AUDIT_IND>
<TO_COMM_AUDIT_IND>Y</TO_COMM_AUDIT_IND>
<TO_TAX_AUDIT_IND>Y</TO_TAX_AUDIT_IND>
<ACC_FARE_SALE_AMT>540</ACC_FARE_SALE_AMT>
<FARE_SALE_AMT>50</FARE_SALE_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<COMM_RATE_SALE_AMT>0</COMM_RATE_SALE_AMT>
<COMM_SALE_AMT>0</COMM_SALE_AMT>
<TRAVEL_START_DATE>2015-12-10</TRAVEL_START_DATE>
< VAT_SALE_AMT>5</ VAT_SALE_AMT>
< INTERLINE_IND>N</ INTERLINE_IND>
<SECTOR>
<CPN_NO>1</CPN_NO>
<TKT_NO>7818520011581</TKT_NO>
<IT_SEQ>0</IT_SEQ>
<AT_NO>0</AT_NO>
<STOPOVER_IND>O</STOPOVER_IND>
<UPL_AIRPORT>XIY</UPL_AIRPORT>
<DIS_AIRPORT>PVG</DIS_AIRPORT>
<UPL_CITY>XIY</UPL_CITY>
<DIS_CITY>SHA</DIS_CITY>
<UPL_COUNTRY>CN</UPL_COUNTRY>
<DIS_COUNTRY>CN</DIS_COUNTRY>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<OPERATE_CARRIER>MU</OPERATE_CARRIER>
<MARKET_FLIGHT_NO>291</MARKET_FLIGHT_NO>
<OPERATE_FLIGHT_NO>291</OPERATE_FLIGHT_NO>
<TICKET_CLASS>V</TICKET_CLASS>
<FARE_BASIS>V</FARE_BASIS>
<CABIN_CLASS>Y</CABIN_CLASS>
<FLIGHT_DATE>2015-09-02</FLIGHT_DATE>
<DATE_IND>N</DATE_IND>
<NVBD>2015-10-01</NVBD>
<NVAD>2015-10-01</NVAD>
<FLT_DEPT_TIME>1500</FLT_DEPT_TIME>
<FLT_ARR_TIME>1500</FLT_ARR_TIME>
<FREE_XBG>10</FREE_XBG>
<FARE_SALE_AMT>10</FARE_SALE_AMT>
<FARE_BREAK>N</FARE_BREAK>
<FC_CARRIER>MU</FC_CARRIER>
<TAX_SALE_AMT>540</TAX_SALE_AMT>
<USED_IND>Y</USED_IND>
<COUP_STATUS>F</COUP_STATUS>
<ACTUAL_FLIGHT_DATE>2015-09-02</ACTUAL_FLIGHT_DATE>
<COUP_TYPE>T</COUP_TYPE>
<BA_IND>Y</BA_IND>
<REFUND_TRAVEL_TIME_DIF>10</REFUND_TRAVEL_TIME_DIF>
<PNR_CANCEL_DATE>2015-10-10</PNR_CANCEL_DATE>
</SECTOR>
<FARECOMPONET>
<AT_NO>1</AT_NO>
<FARE_BASIS>T</FARE_BASIS>
<AT_AMT>490</AT_AMT>
<SC_IND>Y</SC_IND>
<EMS_NUM>10</EMS_NUM>
<CONSTRUCT_CITY>SHA</CONSTRUCT_CITY>
<UPL_CITY>XIY</UPL_CITY>
<DIS_CITY>PVG</DIS_CITY>
</FARECOMPONET>
<TICKETTAX>
<TKT_NO>7818520011581</TKT_NO>
<TAX_CODE>OB</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>147</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>S</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818520011581</TKT_NO>
<TAX_CODE>CN</TAX_CODE>
<XF_CODE>001</XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR>CNY</PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND>N</PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<COUPONTAX>
<TKT_NO>7818520011581</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>XIY</UPL_AIRPORT>
<DIS_AIRPORT>PVG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE>CN</TAX_COUNTRY_CODE>
<TAX_CODE>CN</TAX_CODE>
<TAX_TYPE>YQ</TAX_TYPE>
<TAX_SUBCODE>1</TAX_SUBCODE>
<SU_IND>U</SU_IND>
<TAXPOT_TAG>D</TAXPOT_TAG>
<PERCENT_FLAG>P</PERCENT_FLAG>
<TAX_TIMES_IND>O</TAX_TIMES_IND>
<REFUND_IND>N</REFUND_IND>
<COMM_IND>N</COMM_IND>
<TAX_IND>N</TAX_IND>
<PUBLISH_REF_CUR>CNY</PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION>SHA</DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND>N</SPLIT_IND>
<EXLIM_IND>Y</EXLIM_IND>
</COUPONTAX>
<COUPONTAX>
<TKT_NO>7818520011581</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>XIY</UPL_AIRPORT>
<DIS_AIRPORT>PVG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE></TAX_COUNTRY_CODE>
<TAX_CODE>YQ</TAX_CODE>
<TAX_TYPE></TAX_TYPE>
<TAX_SUBCODE></TAX_SUBCODE>
<SU_IND></SU_IND>
<TAXPOT_TAG></TAXPOT_TAG>
<PERCENT_FLAG></PERCENT_FLAG>
<TAX_TIMES_IND></TAX_TIMES_IND>
<REFUND_IND></REFUND_IND>
<COMM_IND></COMM_IND>
<TAX_IND></TAX_IND>
<PUBLISH_REF_CUR></PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION></DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND></SPLIT_IND>
<EXLIM_IND></EXLIM_IND>
</COUPONTAX>
<OLDREFUNDRESISSUECOUPON>
<CPN_NO>1</CPN_NO>
<TKT_NO>7818507521899</TKT_NO>
</OLDREFUNDRESISSUECOUPON>
</TICKET>
<FORMER>
<TICKET>
<TKT_NO>7818507521899</TKT_NO>
<AIRLINE_CODE>MU</AIRLINE_CODE>
<SALE_TYPE>N</SALE_TYPE>
<SALE_SOURCE>ATK</SALE_SOURCE>
<AGENT_NO>08677349</AGENT_NO>
<AGENT_NAME>东航商务网站(SHA777)国内DB2C</AGENT_NAME>
<AGENT_COUNTRY>CN</AGENT_COUNTRY>
<ET_TYPE>C</ET_TYPE>
<ISSUE_DATE>2015-08-30</ISSUE_DATE>
<REPORT_CUR>CNY</REPORT_CUR>
<RMT_AMT>880</RMT_AMT>
<PGN_TYPE>ADT</PGN_TYPE>
<PNR_NO>ND8Q54</PNR_NO>
<ENDORSEMENT>不得签转</ENDORSEMENT>
<TOUR_CODE>WEB15002</TOUR_CODE>
<FCMI_IND>0</FCMI_IND>
<STATION>SHA</STATION>
<ISSUE_POINT>SHA</ISSUE_POINT>
<SALE_COUNTRY>CN</SALE_COUNTRY>
<GROUP_TKT_IND>N</GROUP_TKT_IND>
<DI_IND>D</DI_IND>
<FREE_IND>N</FREE_IND>
<CNJ_IND>Y</CNJ_IND>
<CNJ_TKT_NO>7818507521899</CNJ_TKT_NO>
<CNJ_SEQ>1</CNJ_SEQ>
<CNJ_COUNT>2</CNJ_COUNT>
<OAI_IND></OAI_IND>
<CHANGE_FEE>0</CHANGE_FEE>
<FLIGHT_MISS_FEE>0</FLIGHT_MISS_FEE>
<FOP1>CA</FOP1>
<FOP2>CC</FOP2>
<FOP3>CA</FOP3>
<FOP4>CC</FOP4>
<ISSUE_TIME>150010</ISSUE_TIME>
<GOV_IND>N</GOV_IND>
<GOV_DIVISION>G</GOV_DIVISION>
<TO_FARE_AUDIT_IND>Y</TO_FARE_AUDIT_IND>
<TO_COMM_AUDIT_IND>Y</TO_COMM_AUDIT_IND>
<TO_TAX_AUDIT_IND>Y</TO_TAX_AUDIT_IND>
<ACC_FARE_SALE_AMT>10</ACC_FARE_SALE_AMT>
<FARE_SALE_AMT>830</FARE_SALE_AMT>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<COMM_RATE_SALE_AMT>0</COMM_RATE_SALE_AMT>
<COMM_SALE_AMT>0</COMM_SALE_AMT>
<TRAVEL_START_DATE>2015-10-10</TRAVEL_START_DATE>
< VAT_SALE_AMT>10</ VAT_SALE_AMT>
< INTERLINE_IND>Y</ INTERLINE_IND>
<SECTOR>
<CPN_NO>1</CPN_NO>
<TKT_NO>7818507521899</TKT_NO>
<IT_SEQ>1</IT_SEQ>
<AT_NO>1</AT_NO>
<STOPOVER_IND>X</STOPOVER_IND>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<UPL_CITY>BJS</UPL_CITY>
<DIS_CITY>KMG</DIS_CITY>
<UPL_COUNTRY>CN</UPL_COUNTRY>
<DIS_COUNTRY>CN</DIS_COUNTRY>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<OPERATE_CARRIER>MU</OPERATE_CARRIER>
<MARKET_FLIGHT_NO>5708</MARKET_FLIGHT_NO>
<OPERATE_FLIGHT_NO>5708</OPERATE_FLIGHT_NO>
<TICKET_CLASS>V</TICKET_CLASS>
<FARE_BASIS>VXS</FARE_BASIS>
<CABIN_CLASS>Y</CABIN_CLASS>
<FLIGHT_DATE>2015-09-01</FLIGHT_DATE>
<DATE_IND>N</DATE_IND>
<NVBD>2015-10-10</NVBD>
<NVAD>2015-10-10</NVAD>
<FLT_DEPT_TIME>2035</FLT_DEPT_TIME>
<FLT_ARR_TIME>2035</FLT_ARR_TIME>
<FREE_XBG>5</FREE_XBG>
<FARE_SALE_AMT>15</FARE_SALE_AMT>
<FARE_BREAK>N</FARE_BREAK>
<FC_CARRIER>MU</FC_CARRIER>
<TAX_SALE_AMT>53</TAX_SALE_AMT>
<USED_IND>N</USED_IND>
<COUP_STATUS>F</COUP_STATUS>
<ACTUAL_FLIGHT_DATE>2015-10-05</ACTUAL_FLIGHT_DATE>
<COUP_TYPE>T</COUP_TYPE>
<BA_IND>T</BA_IND>
<REFUND_TRAVEL_TIME_DIF>10</REFUND_TRAVEL_TIME_DIF>
<PNR_CANCEL_DATE>2015-10-01</PNR_CANCEL_DATE>
</SECTOR>
<FARECOMPONET>
<AT_NO>1</AT_NO>
<FARE_BASIS>T</FARE_BASIS>
<AT_AMT>450</AT_AMT>
<SC_IND>Y</SC_IND>
<EMS_NUM>10</EMS_NUM>
<CONSTRUCT_CITY>SHA</CONSTRUCT_CITY>
<UPL_CITY>XIY</UPL_CITY>
<DIS_CITY>HGH</DIS_CITY>
</FARECOMPONET>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>CN</TAX_CODE>
<XF_CODE>001</XF_CODE>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<PUBLISH_CUR>CNY</PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND>N</PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>YQ</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>OB</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>S</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>OC</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>S</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<COUPONTAX>
<TKT_NO>7818507521899</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE>CN</TAX_COUNTRY_CODE>
<TAX_CODE>CN</TAX_CODE>
<TAX_TYPE>YQ</TAX_TYPE>
<TAX_SUBCODE>1</TAX_SUBCODE>
<SU_IND>U</SU_IND>
<TAXPOT_TAG>D</TAXPOT_TAG>
<PERCENT_FLAG>F</PERCENT_FLAG>
<TAX_TIMES_IND>U</TAX_TIMES_IND>
<REFUND_IND>N</REFUND_IND>
<COMM_IND>N</COMM_IND>
<TAX_IND>E</TAX_IND>
<PUBLISH_REF_CUR>CNY</PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION>QS</DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND>Y</SPLIT_IND>
<EXLIM_IND>Y</EXLIM_IND>
</COUPONTAX>
<COUPONTAX>
<TKT_NO>7818507521899</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE></TAX_COUNTRY_CODE>
<TAX_CODE>YQ</TAX_CODE>
<TAX_TYPE></TAX_TYPE>
<TAX_SUBCODE></TAX_SUBCODE>
<SU_IND></SU_IND>
<TAXPOT_TAG></TAXPOT_TAG>
<PERCENT_FLAG></PERCENT_FLAG>
<TAX_TIMES_IND></TAX_TIMES_IND>
<REFUND_IND></REFUND_IND>
<COMM_IND></COMM_IND>
<TAX_IND></TAX_IND>
<PUBLISH_REF_CUR></PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION></DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND></SPLIT_IND>
<EXLIM_IND></EXLIM_IND>
</COUPONTAX>
</TICKET>
</FORMER>
</TRANSACTION>
<TRANSACTION>
<TICKET>
<TKT_NO>781RRR146432190</TKT_NO>
<AIRLINE_CODE>MU</AIRLINE_CODE>
<SALE_TYPE>R</SALE_TYPE>
<SALE_SOURCE>BSP</SALE_SOURCE>
<AGENT_NO>08300165</AGENT_NO>
<AGENT_NAME>上海招商国际商务旅行社有限公司</AGENT_NAME>
<AGENT_COUNTRY>CN</AGENT_COUNTRY>
<ET_TYPE>D</ET_TYPE>
<ISSUE_DATE>2015-09-15</ISSUE_DATE>
<REPORT_CUR>CNY</REPORT_CUR>
<RMT_AMT>1170</RMT_AMT>
<PGN_TYPE></PGN_TYPE>
<PNR_NO></PNR_NO>
<ENDORSEMENT></ENDORSEMENT>
<TOUR_CODE>WEB15002</TOUR_CODE>
<FCMI_IND>0</FCMI_IND>
<STATION>SHA</STATION>
<ISSUE_POINT>SHA</ISSUE_POINT>
<SALE_COUNTRY>CN</SALE_COUNTRY>
<GROUP_TKT_IND></GROUP_TKT_IND>
<DI_IND>D</DI_IND>
<FREE_IND></FREE_IND>
<REFUND_ATTACHMENT_IND></REFUND_ATTACHMENT_IND>
<REFUND_ATTACHMENT_TYPE></REFUND_ATTACHMENT_TYPE>
<FOP1>CA</FOP1>
<FOP2>CC</FOP2>
<FOP3>CA</FOP3>
<FOP4>CC</FOP4>
<ISSUE_TIME></ISSUE_TIME>
<GOV_IND>N</GOV_IND>
<GOV_DIVISION></GOV_DIVISION>
<TO_FARE_AUDIT_IND></TO_FARE_AUDIT_IND>
<TO_COMM_AUDIT_IND></TO_COMM_AUDIT_IND>
<TO_TAX_AUDIT_IND></TO_TAX_AUDIT_IND>
<ACC_FARE_SALE_AMT></ACC_FARE_SALE_AMT>
<FARE_SALE_AMT>1120</FARE_SALE_AMT>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<COMM_RATE_SALE_AMT>0</COMM_RATE_SALE_AMT>
<COMM_SALE_AMT>0</COMM_SALE_AMT>
<TRAVEL_START_DATE></TRAVEL_START_DATE>
< VAT_SALE_AMT></ VAT_SALE_AMT>
< INTERLINE_IND>N</ INTERLINE_IND>
<TICKETTAX>
<TKT_NO>781RRR146432190</TKT_NO>
<TAX_CODE>CN</TAX_CODE>
<XF_CODE>1</XF_CODE>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<PUBLISH_CUR>CNY</PUBLISH_CUR>
<PUBLISH_AMT>10</PUBLISH_AMT>
<PD_IND>Y</PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<COUPONTAX>
<TKT_NO>7819636241730</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT></UPL_AIRPORT>
<DIS_AIRPORT></DIS_AIRPORT>
<MARKET_CARRIER></MARKET_CARRIER>
<TAX_COUNTRY_CODE></TAX_COUNTRY_CODE>
<TAX_CODE>CN</TAX_CODE>
<TAX_TYPE></TAX_TYPE>
<TAX_SUBCODE></TAX_SUBCODE>
<SU_IND></SU_IND>
<TAXPOT_TAG></TAXPOT_TAG>
<PERCENT_FLAG></PERCENT_FLAG>
<TAX_TIMES_IND></TAX_TIMES_IND>
<REFUND_IND></REFUND_IND>
<COMM_IND></COMM_IND>
<TAX_IND></TAX_IND>
<PUBLISH_REF_CUR></PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>50</TAX_REF_AMT>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<DESCRIPTION></DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<SPLIT_IND></SPLIT_IND>
<EXLIM_IND></EXLIM_IND>
</COUPONTAX>
<COUPONTAX>
<TKT_NO>7819636241730</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT></UPL_AIRPORT>
<DIS_AIRPORT></DIS_AIRPORT>
<MARKET_CARRIER></MARKET_CARRIER>
<TAX_COUNTRY_CODE></TAX_COUNTRY_CODE>
<TAX_CODE>YQ</TAX_CODE>
<TAX_TYPE></TAX_TYPE>
<TAX_SUBCODE></TAX_SUBCODE>
<SU_IND></SU_IND>
<TAXPOT_TAG></TAXPOT_TAG>
<PERCENT_FLAG></PERCENT_FLAG>
<TAX_TIMES_IND></TAX_TIMES_IND>
<REFUND_IND></REFUND_IND>
<COMM_IND></COMM_IND>
<TAX_IND></TAX_IND>
<PUBLISH_REF_CUR></PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION></DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND></SPLIT_IND>
<EXLIM_IND></EXLIM_IND>
</COUPONTAX>
<OLDREFUNDRESISSUECOUPON>
<CPN_NO>1</CPN_NO>
<TKT_NO>7818507521899</TKT_NO>
</OLDREFUNDRESISSUECOUPON>
</TICKET>
<FORMER>
<TICKET>
<TKT_NO>7818507521899</TKT_NO>
<AIRLINE_CODE>MU</AIRLINE_CODE>
<SALE_TYPE>N</SALE_TYPE>
<SALE_SOURCE>ATK</SALE_SOURCE>
<AGENT_NO>08677349</AGENT_NO>
<AGENT_NAME>东航商务网站(SHA777)国内DB2C</AGENT_NAME>
<AGENT_COUNTRY>CN</AGENT_COUNTRY>
<ET_TYPE>C</ET_TYPE>
<ISSUE_DATE>2015-08-30</ISSUE_DATE>
<REPORT_CUR>CNY</REPORT_CUR>
<RMT_AMT>880</RMT_AMT>
<PGN_TYPE>ADT</PGN_TYPE>
<PNR_NO>ND8Q54</PNR_NO>
<ENDORSEMENT>不得签转</ENDORSEMENT>
<TOUR_CODE>WEB15002</TOUR_CODE>
<FCMI_IND>0</FCMI_IND>
<STATION>SHA</STATION>
<ISSUE_POINT>SHA</ISSUE_POINT>
<SALE_COUNTRY>CN</SALE_COUNTRY>
<GROUP_TKT_IND>N</GROUP_TKT_IND>
<DI_IND>D</DI_IND>
<FREE_IND>N</FREE_IND>
<CNJ_IND>Y</CNJ_IND>
<CNJ_TKT_NO>7818507521899</CNJ_TKT_NO>
<CNJ_SEQ>1</CNJ_SEQ>
<CNJ_COUNT>2</CNJ_COUNT>
<OAI_IND></OAI_IND>
<CHANGE_FEE>0</CHANGE_FEE>
<FLIGHT_MISS_FEE>0</FLIGHT_MISS_FEE>
<FOP1>CA</FOP1>
<FOP2>CC</FOP2>
<FOP3>CA</FOP3>
<FOP4>CC</FOP4>
<ISSUE_TIME>150010</ISSUE_TIME>
<GOV_IND>N</GOV_IND>
<GOV_DIVISION>G</GOV_DIVISION>
<TO_FARE_AUDIT_IND>Y</TO_FARE_AUDIT_IND>
<TO_COMM_AUDIT_IND>Y</TO_COMM_AUDIT_IND>
<TO_TAX_AUDIT_IND>Y</TO_TAX_AUDIT_IND>
<ACC_FARE_SALE_AMT>10</ACC_FARE_SALE_AMT>
<FARE_SALE_AMT>830</FARE_SALE_AMT>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<COMM_RATE_SALE_AMT>0</COMM_RATE_SALE_AMT>
<COMM_SALE_AMT>0</COMM_SALE_AMT>
<TRAVEL_START_DATE>2015-10-10</TRAVEL_START_DATE>
< VAT_SALE_AMT>10</ VAT_SALE_AMT>
< INTERLINE_IND>Y</ INTERLINE_IND>
<SECTOR>
<CPN_NO>1</CPN_NO>
<TKT_NO>7818507521899</TKT_NO>
<IT_SEQ>1</IT_SEQ>
<AT_NO>1</AT_NO>
<STOPOVER_IND>X</STOPOVER_IND>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<UPL_CITY>BJS</UPL_CITY>
<DIS_CITY>KMG</DIS_CITY>
<UPL_COUNTRY>CN</UPL_COUNTRY>
<DIS_COUNTRY>CN</DIS_COUNTRY>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<OPERATE_CARRIER>MU</OPERATE_CARRIER>
<MARKET_FLIGHT_NO>5708</MARKET_FLIGHT_NO>
<OPERATE_FLIGHT_NO>5708</OPERATE_FLIGHT_NO>
<TICKET_CLASS>V</TICKET_CLASS>
<FARE_BASIS>VXS</FARE_BASIS>
<CABIN_CLASS>Y</CABIN_CLASS>
<FLIGHT_DATE>2015-09-01</FLIGHT_DATE>
<DATE_IND>N</DATE_IND>
<NVBD>2015-10-10</NVBD>
<NVAD>2015-10-10</NVAD>
<FLT_DEPT_TIME>2035</FLT_DEPT_TIME>
<FLT_ARR_TIME>2035</FLT_ARR_TIME>
<FREE_XBG>5</FREE_XBG>
<FARE_SALE_AMT>15</FARE_SALE_AMT>
<FARE_BREAK>N</FARE_BREAK>
<FC_CARRIER>MU</FC_CARRIER>
<TAX_SALE_AMT>53</TAX_SALE_AMT>
<USED_IND>N</USED_IND>
<COUP_STATUS>F</COUP_STATUS>
<ACTUAL_FLIGHT_DATE>2015-10-05</ACTUAL_FLIGHT_DATE>
<COUP_TYPE>T</COUP_TYPE>
<BA_IND>T</BA_IND>
<REFUND_TRAVEL_TIME_DIF>10</REFUND_TRAVEL_TIME_DIF>
<PNR_CANCEL_DATE>2015-10-01</PNR_CANCEL_DATE>
</SECTOR>
<FARECOMPONET>
<AT_NO>1</AT_NO>
<FARE_BASIS>T</FARE_BASIS>
<AT_AMT>450</AT_AMT>
<SC_IND>Y</SC_IND>
<EMS_NUM>10</EMS_NUM>
<CONSTRUCT_CITY>SHA</CONSTRUCT_CITY>
<UPL_CITY>XIY</UPL_CITY>
<DIS_CITY>HGH</DIS_CITY>
</FARECOMPONET>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>CN</TAX_CODE>
<XF_CODE>001</XF_CODE>
<TAX_SALE_AMT>50</TAX_SALE_AMT>
<PUBLISH_CUR>CNY</PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND>N</PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>YQ</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>T</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>OB</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>S</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<TICKETTAX>
<TKT_NO>7818507521899</TKT_NO>
<TAX_CODE>OC</TAX_CODE>
<XF_CODE></XF_CODE>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<PUBLISH_CUR></PUBLISH_CUR>
<PUBLISH_AMT>0</PUBLISH_AMT>
<PD_IND></PD_IND>
<TAX_FEE_IND>S</TAX_FEE_IND>
<REPORT_CUR>CNY</REPORT_CUR>
</TICKETTAX>
<COUPONTAX>
<TKT_NO>7818507521899</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE>CN</TAX_COUNTRY_CODE>
<TAX_CODE>CN</TAX_CODE>
<TAX_TYPE>YQ</TAX_TYPE>
<TAX_SUBCODE>1</TAX_SUBCODE>
<SU_IND>U</SU_IND>
<TAXPOT_TAG>D</TAXPOT_TAG>
<PERCENT_FLAG>F</PERCENT_FLAG>
<TAX_TIMES_IND>U</TAX_TIMES_IND>
<REFUND_IND>N</REFUND_IND>
<COMM_IND>N</COMM_IND>
<TAX_IND>E</TAX_IND>
<PUBLISH_REF_CUR>CNY</PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION>QS</DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND>Y</SPLIT_IND>
<EXLIM_IND>Y</EXLIM_IND>
</COUPONTAX>
<COUPONTAX>
<TKT_NO>7818507521899</TKT_NO>
<CPN_NO>1</CPN_NO>
<UPL_AIRPORT>PEK</UPL_AIRPORT>
<DIS_AIRPORT>KMG</DIS_AIRPORT>
<MARKET_CARRIER>MU</MARKET_CARRIER>
<TAX_COUNTRY_CODE></TAX_COUNTRY_CODE>
<TAX_CODE>YQ</TAX_CODE>
<TAX_TYPE></TAX_TYPE>
<TAX_SUBCODE></TAX_SUBCODE>
<SU_IND></SU_IND>
<TAXPOT_TAG></TAXPOT_TAG>
<PERCENT_FLAG></PERCENT_FLAG>
<TAX_TIMES_IND></TAX_TIMES_IND>
<REFUND_IND></REFUND_IND>
<COMM_IND></COMM_IND>
<TAX_IND></TAX_IND>
<PUBLISH_REF_CUR></PUBLISH_REF_CUR>
<PUBLISH_REF_AMT>0</PUBLISH_REF_AMT>
<REPORT_CUR>CNY</REPORT_CUR>
<TAX_REF_AMT>0</TAX_REF_AMT>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<DESCRIPTION></DESCRIPTION>
<RULE_SEQ>0</RULE_SEQ>
<TAX_SALE_AMT>0</TAX_SALE_AMT>
<SPLIT_IND></SPLIT_IND>
<EXLIM_IND></EXLIM_IND>
</COUPONTAX>
</TICKET>
</FORMER>
</TRANSACTION>
</TRANSACTIONS>
从数据库中生成XML文件的更多相关文章
- 在数据库中生成txt文件到网络驱动器中(计算机直接创建的网络驱动器在sql server中没有被找到)
环境:sql server 2008 一.创建网络驱动器映射 语法:exec master..xp_cmdshell 'net use Z: \\ip地址\网络路径 密码 /user:用户名' 例如: ...
- Java中使用DOM4J来生成xml文件和解析xml文件
一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...
- Python中使用dom模块生成XML文件示例
在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件. 在生成XML文件中,我们主 ...
- PHP中的生成XML文件的4种方法(转)
<?xml version="1.0" encoding="utf-8"?> <article> <item> <ti ...
- PHP中的生成XML文件的4种方法分享
生成如下XML串 Xml代码 <?xml version="1.0" encoding="utf-8"?> <article> < ...
- Java生成XML文件
我们在数据库中的数据可以将其提取出来生成XML文件,方便传输.例如数据库中有Admin这张表: 我们写一个java类表示admin数据: package xmlDom.vo; import java. ...
- 视频播放实时记录日志并生成XML文件
需求描述: 在JWPlayer视频播放过程中,要求实时记录视频观看者播放.暂停的时间,并记录从暂停到下一次播放时所经过的时间.将所有记录保存为XML文件,以方便数据库的后续使用. 实现过程: 尝试1: ...
- 辅助的写与数据库交互的XML文件的类
现在企业级WEB应用中与数据库交互的XML文件都是通过插件自动生成的,不过有些时候修改比较老的项目的时候也是需要手动的来做这一动作的!如下代码就是一个实现上述的功能的辅助类,在此记录一下以备后用! p ...
- 获得mysql内容,生成xml文件,另外,为了webservice发送
<xyt> <news id> <url></url> <title></title> </news> </x ...
随机推荐
- BZOJ3376: [Usaco2004 Open]Cube Stacking 方块游戏
[传送门:BZOJ3376] 简要题意: 约翰和贝茜在玩一个方块游戏.编号为1到n的n(1≤n≤30000)个方块正放在地上.每个构成一个立方柱. 游戏开始后,约翰会给贝茜发出P(1≤P≤100000 ...
- wcf rest系列文章
http://www.cnblogs.com/artech/archive/2012/02/15/wcf-rest.html 需要注意的是,发布的服务,可以在web behavior中指定显示help ...
- html&css基础笔记
有道笔记:http://note.youdao.com/noteshare?id=a6d7eab195085655bbfce86665524e35 一 HTML结构标签 HTML基本标签 标题标签 & ...
- python pdb小结
Debug功能对于developer是非常重要的,python提供了相应的模块pdb让你可以在用文本编辑器写脚本的情况下进行debug. pdb是python debugger的简称.常用的一些命令如 ...
- 【Django】安装及配置
目录 MVC框架与MTV框架 Django的MTV模式 Django框架图示 安装及配置 创建一个Django项目 目录介绍 运行Django项目 启动Django报错 模版文件配置 静态文件配置 A ...
- JAVA文件写入FileWriter
JAVA文件写入FileWriter 导包import java.io.FileWriter创建构造方法public FileWrite(String filename),参数是文件的路径及文件名(默 ...
- php远程抓取图片
public function GrabImage($url,$filename="") { if($url=="") return false ...
- 无法在WEB服务器上启动调试
错误:站点使用 IP 地址 Visual Studio 2012 调试器尝试自动附加到正在使用 IP 地址的 Web 应用程序时,会发生该错误. 如果在 IIS 中将“网站标识”更改为“使用特定 IP ...
- Onvif开发之服务端成功对接Rtsp视频流篇
前面篇介绍onvif服务端的发现功能,继续在之前的代码基础上完成一个RTSP流的工作,也就是客户端通过ONVIF协议来预览设备端在这个之前必须确定几个简单的条件1 设备端能被发现2 设备端支持RTSP ...
- 14.字符串hash寻找第一个只出现一次的字符
//char 0-255一共256个 char getonebyhash(char *str) { if (str == NULL) { return '\0'; } char ch = '\0'; ...