博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(3)TXT转为XML
阅读量:6965 次
发布时间:2019-06-27

本文共 4807 字,大约阅读时间需要 16 分钟。

11111
111
2001
20150320
20150320
0
100
0

该段是一个XML代码,现在我们要做的是将以下的TXT文件转化为上述格式,TXT格式如下:

ibknum|actacnc|type |datescope_from|datescope_to|direction

1111   |111     |2002|20020214      |20020214   |0

首先,有两个路径,分别是读取路径和保存路径,downfolder和savefolder。我们的txt是保存在ftp服务器上的,这一点我们下一篇文章会讲述,怎么从ftp上下载一个文件。

现在我们直接从savefolder开始,也就是已经下载好的文件夹。

下面的方法现将txt转化为一个datatable,然后转换为list

private DataTable B2eRqTxtToDt(string txtpath,string strErrMsg="",string encodingCode = "GB2312", string strSplit = "|")        {
if(txtpath.IndexOf("ftp")>=0){ //创建ftp请求信息 var ftpRequest = new FtpClient(ftpUser, ftpPassword); string savePath = GetDataFileSavePath(); ftpRequest.DownloadFile(savePath, txtpath, true); } //read first line StreamReader objReader = new StreamReader(savePath, Encoding.GetEncoding(encodingCode)); string sLine = objReader.ReadLine(); objReader.Close(); //all column's header string[] ColumnHeaders = sLine.ToString().Trim().Split(strSplit).Select(q => q.Trim()).ToArray(); // to datatable //直接取datatable DataTable dt = TxtService.TextFileLoader(savePath, "txt", ColumnHeaders, out strErrMsg, encodingCode, strSplit); return dt; } private List
B2eRqDtToLs(DataTable dt) { var date = DateTime.Now.AddDays(-1).Date; List
rqlist = new List
(); for (int i = 0; i < dt.Rows.Count; i++) { RqList rqls = new RqList(); b2e0035_rq b2erq = new b2e0035_rq(); b2erq.ibknum = dt.Rows[i][0].ToString(); b2erq.actacn = dt.Rows[i][1].ToString(); b2erq.type = "2002"; b2erq.datescope_from = date.Date; b2erq.datescope_to = date.Date; b2erq.amountscope_from = null; b2erq.amountscope_to = null; b2erq.begnum = null; b2erq.recnum = null; b2erq.direction = "1"; #region //这几句是读取txt文件中的.另外还有string转换为DateTime类型的。 b2erq.type = dt.Rows[i][2].ToString(); b2erq.datescope_from = DateTime.Parse(dt.Rows[i][3].ToString()); #endregion rqls.head = null; rqls.b2e0035_rq = b2erq; rqlist.Add(rqls); } return rqlist; }

将txt转化为list之后,借助写XML方法可以将其写入XML中。

public void WriteToXML(string ibknum,string actacn,string path)        {            //string path = @"C:\Users\zuomeiyan\XMLRequest.xml";            XmlTextWriter xtw = new XmlTextWriter(path, UTF8Encoding.UTF8);            var date = DateTime.Now.AddDays(-1).Date;            try            {                xtw.Formatting = Formatting.Indented;                xtw.WriteStartDocument();                xtw.WriteStartElement("bocb2e");                ////head                xtw.WriteStartElement("head");                xtw.WriteEndElement();                //交易数据块                xtw.WriteStartElement("trans");                xtw.WriteStartElement("trn-b2e0035-rq");                xtw.WriteStartElement("b2e0035-rq");                xtw.WriteElementString("ibknum", ibknum);                xtw.WriteElementString("actacn", actacn);                xtw.WriteElementString("type", "2002");                xtw.WriteStartElement("datescope");                xtw.WriteElementString("from", date.Date.ToString("yyyyMMdd"));                xtw.WriteElementString("to", date.Date.ToString("yyyyMMdd"));                xtw.WriteEndElement();                xtw.WriteStartElement("amountscope");                xtw.WriteElementString("from", null);                xtw.WriteElementString("to", null);                xtw.WriteEndElement();                xtw.WriteElementString("begnum", null);                xtw.WriteElementString("recnum", null);                xtw.WriteElementString("direction", "1");                xtw.WriteEndElement();                xtw.WriteEndElement();                xtw.WriteEndElement();                xtw.WriteEndElement();                xtw.WriteEndDocument();            }            catch { }            finally            {                xtw.Flush();                xtw.Close();                xtw.Dispose();            }        }

这样我们就完成了将一个TXT文件转化为XML格式。

 

转载于:https://www.cnblogs.com/jxlsomnus/p/4363365.html

你可能感兴趣的文章
我的友情链接
查看>>
访问服务器(加载图片)
查看>>
一个搞ACM需要掌握的算法
查看>>
kvm-net模式(三)
查看>>
rpmのyum详解
查看>>
Ansible配置及使用
查看>>
java inputStream ,outputStream
查看>>
系统服务
查看>>
Linux 文件与目录管理+用户管理命令
查看>>
C#中父类和子类之间相互转换
查看>>
《Linux菜鸟入门2》mail服务
查看>>
Mysql DOS: 进入Mysql运行文目录 F:\mysql-8.0.13-winx64\bin
查看>>
中小型企业网络构建之路由的简单配置
查看>>
Create an inbound email action
查看>>
oracle教程之DML事务锁定的机制
查看>>
Oracle RMAN 维护(一)--RMAN的维护
查看>>
centos6.6关闭防火墙和selinux
查看>>
JAVA RMI远程方法调用简单实例
查看>>
Citrix桌面虚拟化解决方案介绍
查看>>
WCF学习2
查看>>