package com.zbxsoft.platform.utils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jdom.JDOMException;
import com.zbxsoft.platform.exception.PlatformException;
public interface IntXMLParse {
/**
* 函数名称: BuildSingleXML
* 函数功能: 单笔CLIENT端数据转换成XML字符串
* @param TxCode: 交易代码
* @param FuncId: 功能代码
* @param textname: body字段名字数组
* @param textvalue:body字段数值数组
* @return String XML文件String形式
*/
public String buildSingleXML(String TxCode,String FuncId,String[] textname,String[] textvalue,HashMap parseMap)throws PlatformException;
public String buildSingleXML1(String TxCode, String[] textname, Map<String, String> tran2Map) throws PlatformException;
/**
* 函数名称: readIniFile
* 函数功能: 读取相关的初始化配置文件
* @param paraName: 属性名称(key)
* @param strRootPath: web应用路径
* @return String paraName对应的值
*/
public String readIniFile(String paraName ,String strRootPath)throws PlatformException;
/**
* 函数名称: BuildMultipleXML
* 函数功能: 多笔CLIENT端数据转换成XML字符串
* 参数说明:
* @param TxCode: 交易代码
* @param FuncId: 功能代码
* @param textname: body字段名字数组
* @param textvalue:body字段数值数组
* @param RecordName: Record字段名称
* @param RecordValue:Record字段的值
* @param StratPos 开始记录数(当记录特别多时需要多次送后台时每批的开始数)
* @param ExpRecCount 每次送往后台的最大记录数
* @param strRootPath web应用路径
* @return String xml文件格式的字符串
*/
public String buildMultipleXML(String TxCode,String FuncId,String[] textname,String[]
textvalue,String[] RecordName,ArrayList RecordValue,
int StratPos,int RecordCount,String strRootPath) throws PlatformException;
/**
** 函数名称:xmlGetFileData
* 函数功能: 解析xml文件,将结果保存在ArrayList数组
* 参数说明:
* @param filepath: xml字符串。
* @param pStrucArray: 保存解析结果的数组。
* @param xmlTagNames: 需要解析的标签(多个)。
*/
public int xmlGetFileData(String filepath,ArrayList pStrucArray,String[] xmlTagNames)throws PlatformException;
/**
*函数名称:xmlGetFileData
* 函数功能: 解析xml文件,将结果保存在ArrayList数组
* 参数说明:
* @param filepath: xml字符串。
* @param pStrucArray: 保存解析结果的数组。
* @param xmlTagName: 需要解析的标签(一个)。
*/
public int xmlGetFileData(String filepath,ArrayList pStrucArray,String xmlTagName)throws PlatformException;
/**
* 函数名称: xmlGetHeadData
* 函数功能: 解析后台返回的xml报文,将结果保存在ArrayList数组(只解析报文中head标签的数据)
* 参数说明:
* @param xmldata: xml字符串。
* @param pStrucArray: 保存解析结果的数组。
* @param xmlTagName: 需要解析的标签。
*/
public int xmlGetHeadData(String xmldata,ArrayList pStrucArray,String xmlTagName)throws PlatformException;
/** 函数名称: xmlGetData
* 函数功能: 解析后台返回的xml报文,将结果保存在ArrayList数组
* 参数说明:
* @param xmldata: xml字符串。
* @param pStrucArray: 保存解析结果的数组。
* @param xmlTagName: 需要解析的标签。
*/
public int xmlGetData(String xmldata,ArrayList pStrucArray,String xmlTagName)throws PlatformException;
/**
* 函数名称: setXmlDataPath
* 函数功能: 解析后台返回的xml报文,进行解析的初步校验
* 参数说明:
* @param xmlDataPath: 报文文件地址
* @throws PlatformException
* @throws IOException
* @throws JDOMException
*/
public void setXmlDataPath(String xmlDataPath) throws PlatformException;
/**
* 函数名称: getHeadElements
* 函数功能: 解析后台返回的xml报文,返回Head元素中的所有子元素
* 参数说明:
* @param headElemets: 保存报文头信息的数据结构实例
* @throws PlatformException
*/
public int getHeadElements(Map headElemets) throws PlatformException;
/**
* 函数名称: getBodyElementBarringRecory
* 函数功能: 解析后台返回的xml报文,返回Body元素中除Recory外所有的元素
* 参数说明:
* @param headElemets: 保存数据返回结果的数据结构实例
* @throws PlatformException
*/
public int getBodyElementBarringRecory(Map headElemets) throws PlatformException;
/**
* 函数名称: getBodyEelemtRecoryList
* 函数功能: 解析后台返回的xml报文,返回Body元素中Recory中所有的元素,用ArrayList中包含HashMap实例进行封装
* 参数说明:
* @param recordList: 包含所子数据项的数据结构实例
* @throws PlatformException
*/
public int getBodyEelemtRecoryList(List<Map> recordList) throws PlatformException;
/**
* 函数名称: setXmlDataByString
* 函数功能: 根据String构造XML文件
* 参数说明:
* @param xmlContext:XML文件内容
*/
public void setXmlDataByString(String xmlContext)throws PlatformException;
/**
* 函数名称: buildLongSingleXML
* 函数功能: 构造登陆的XML报文
* @param TxCode: 交易代码
* @param FuncId: 功能代码
* @param textname: body字段名字数组
* @param textvalue:body字段数值数组
* @return String XML文件String形式
*/
public String buildLongSingleXML(String TxCode,String FuncId,String[] textname,String[] textvalue,HashMap parseMap)throws PlatformException;
/**
* 函数名称: getDoc
* 函数功能: 取得文档结构实例
* @return Document 文档结构实例
*/
public org.dom4j.Document getDoc()throws PlatformException;
/**
* 函数名称: BuildMultipleXML
* 函数功能: 多笔CLIENT端数据转换成XML字符串
* 参数说明:
* @param TxCode: 交易代码
* @param FuncId: 功能代码
* @param textname: body字段名字数组
* @param textvalue:body字段数值数组
* @param RecordName: Record字段名称
* @param RecordValue:Record字段的值
* @return String xml文件格式的字符串
*/
public String buildMultipleXML(String txCode, String funcId,
String[] bodyText, String[] bodyTextValue,String[] recordText,String[][] recordTextValue)throws PlatformException;
}