博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 输出流转化成输入流操作XML
阅读量:4325 次
发布时间:2019-06-06

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

C# Code

 

C# 输出流转化成输入流操作XML      C# Code C#代码  收藏代码class Program      {          static void Main(string[] args)          {              DataSet ds = new DataSet();              ds.ReadXmlSchema(@"D:\szschema.xsd");              DataTable dt = ds.Tables["ITEMADD"];              StructHead(ds.Tables["HEADER"]);              StructDatas(ds.Tables["DATAS"]);              int m = 0;              StructData( ds.Tables["DATA"], m);              StructITEMADD(ds.Tables["ITEMADD"], m);              string filepath = "D:\\_123.xml";                //暂存流用于操作xml使用              MemoryStream ms = new MemoryStream();              XmlTextWriter  XmlWt = new XmlTextWriter(ms, Encoding.UTF8);              //保存xml文件的写入流              TextWriter t = new StreamWriter(filepath, false, Encoding.UTF8);              try              {                  ds.WriteXml(XmlWt);                  XmlWt.Flush();                  //将流转换成byte数组                  int mscount = (int)ms.Length;                  byte[] temp = new byte[mscount];                  ms.Seek(0, SeekOrigin.Begin);                  ms.Read(temp, 0, mscount);                  //将utf8编码的byte返回成文本                  string xml = new UTF8Encoding().GetString(temp).Trim();                  //操作xml                  XmlDocument doc = new XmlDocument();                  doc.LoadXml(xml);                  //查找data节点                  XmlNode data = doc.SelectNodes("FREIGHTCPIC/DATAS/DATA").Item(0);                  if (data != null)                  {                      XmlNodeList itemaddlist = data.SelectNodes("ITEMADD");                      XmlNode itemadd2 = itemaddlist.Item(1);                      XmlNodeList itemaddsub = itemadd2.ChildNodes;                      int ncount = itemaddsub.Count;                      for (int i = 0; i < ncount; i++)                      {                          itemaddlist.Item(0).AppendChild(itemaddsub.Item(0));                      }                      data.RemoveChild(itemadd2);                      //保存修改后的xml                      doc.Save(t);                  }              }              catch              {                  //如果发生错误,保存未修改前的xml                  ds.WriteXml(t);              }              finally              {                  XmlWt.Close();                  ms.Close();                  ds.Dispose();                  t.Close();              }          }            private static void StructHead(DataTable dt)          {              DataRow row = dt.NewRow();              row["TYPE"] = "IN";              row["WORKTYPE"] = "0";              row["CLASSESTYPE"] = "1";              row["LOGINUSERNAME"] = "1";              row["LOGINPASSWORD"] = "1";              dt.Rows.Add(row);          }          private static  void StructDatas(DataTable dt)          {              DataRow row = dt.NewRow();              row["DATAS_Id"] = "0";              dt.Rows.Add(row);          }            private static  void StructITEMADD(DataTable dt, int i)          {              DataRow row = dt.NewRow();              row["ITEMADDCODE"] = "Z000054C";              row["ITEMADDCONTENT"] = "被保险人/投保人保证本保单投保内容完全符合与保险人签署之有效《货物运输预约保险单》所载明的条件";              row["DATA_Id"] = i;              dt.Rows.Add(row);                row = dt.NewRow();              row["ITEMADDCODE"] = "Z000055C";              row["ITEMADDCONTENT"] = "本单为货物起运后投保,保险责任自{
" + DateTime.Now.ToString("yyyy-MM-dd") + "}起"; row["DATA_Id"] = i; dt.Rows.Add(row); } private static void StructData( DataTable dt, int i) { DataRow row = dt.NewRow(); row["AUDITTYPE"] = "A"; row["UNITCODE"] = "50232"; row["APPLYNO"] = "22222222222222222222";//协议申请号 row["APPLYENDORSENO"] = "222222222222222222222222222222222";//协议批改号 row["APPLYCODE"] = "9000122236800"; row["APPLYNAME"] = "深圳市XXXXX有限公司"; row["INSURANTNAME"] = ""; row["CLASSTYPE"] = ""; row["MARK"] = ""; row["QUANTITY"] = ""; row["ITEM"] = ""; row["PACKCODE"] = "01"; row["ITEMCODE"] = ""; row["FLIGHTAREACODE"] = ""; row["KIND"] = ""; row["KINDNAME"] = ""; row["VOYNO"] = ""; row["STARTPORT"] = "深圳"; row["TRANSPORT1"] = ""; row["ENDPORT"] = ""; row["CLAIMAGENT"] = ""; row["MAINITEMCODE"] = "ZH"; row["ITEMCONTENT"] = "国内水路、陆路货物运输保险条款综合险"; row["CREDITNO"] = ""; row["PRINTNUM"] = "1"; row["CURRENCYCODE"] = "01"; row["PRICECOND"] = "1"; row["INVAMOUNT"] = "0"; row["INCRATE"] = ""; row["AMOUNT"] =""; row["RATE"] = ""; row["PREMIUM"] = ""; row["POLICYNUM"] = "1"; row["CLAIMCURRENCYCODE"] = "01"; row["CLAIMPAYPLACE"] = "0"; row["FCURRENCYCODE"] = "01"; row["EFFECTDATE"] = ""; row["SAILDATE"] = ""; row["FRANCHISE"] = "1"; row["SPECIALIZE"] =""; row["SPECIALIZE"] = ""; row["USERNO"] = ""; row["DATA_Id"] = i; row["DATAS_Id"] = "0"; dt.Rows.Add(row); } }

 

 

 

转载于:https://www.cnblogs.com/9999w/articles/4173104.html

你可能感兴趣的文章
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>
C++练习 | 模板与泛式编程练习(1)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>
java-集合框架
查看>>
RTMP
查看>>
求一个数的整数次方
查看>>
点云PCL中小细节
查看>>
铁路信号基础
查看>>
RobotFramework自动化2-自定义关键字
查看>>
[置顶] 【cocos2d-x入门实战】微信飞机大战之三:飞机要起飞了
查看>>
BABOK - 需求分析(Requirements Analysis)概述
查看>>
第43条:掌握GCD及操作队列的使用时机
查看>>
Windows autoKeras的下载与安装连接
查看>>
CMU Bomblab 答案
查看>>
微信支付之异步通知签名错误
查看>>
2016 - 1 -17 GCD学习总结
查看>>
linux安装php-redis扩展(转)
查看>>