以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  看不懂,XML生成只是一串文字,不是XML文件  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=140516)

--  作者:zhuxinhui
--  发布时间:2019/9/7 11:09:00
--  看不懂,XML生成只是一串文字,不是XML文件
检查了很久还是看不出哪出问题,为什么我生成的XML文件只是一串字符
--  作者:zhuxinhui
--  发布时间:2019/9/7 11:09:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/9/7 11:12:00
--  
代码呢?项目呢?
--  作者:zhuxinhui
--  发布时间:2019/9/7 11:35:00
--  

FOXTABLE按钮代码:
Dim mb As String = FileSys.ReadAllText(ProjectPath & "表头模板.txt",Encoding.Default)
Dim t As Table = Tables("开票明细")
mb = mb.Replace("[单据数量]",t.Rows.count)
mb = mb.Replace("[购方名称]",e.Form.Controls("ComboBox1").text)
mb = mb.Replace("[购方税号]",e.Form.Controls("TextBox1").text)
mb = mb.Replace("[购方银行账号]",e.Form.Controls("TextBox2").text)
mb = mb.Replace("[购方地址电话]",e.Form.Controls("TextBox3").text)
mb = mb.Replace("[备注]",e.Form.Controls("TextBox6").text)
Dim dj As String = FileSys.ReadAllText(ProjectPath & "内容模板.txt",Encoding.Default)
Dim all As String = ""
For Each r As Row In t.Rows
    Dim tdj As String = dj  \'
    tdj = tdj.Replace("[序号]", r("序号"))
    tdj = tdj.Replace("[商品名称]", r("商品名称"))
    tdj = tdj.Replace("[规格型号]", r("规格型号"))
    tdj = tdj.Replace("[计量单位]", r("计量单位"))
    tdj = tdj.Replace("[商品编码]", r("税务商品编码"))
    tdj = tdj.Replace("[企业商品编码]", r("企业货品编码"))
    tdj = tdj.Replace("[优惠政策标识]", r("是否使用优惠政策标识"))
    tdj = tdj.Replace("[零税率标识]", r("零税率标识"))
    tdj = tdj.Replace("[优惠政策说明]", r("优惠政策说明"))
    tdj = tdj.Replace("[单价]", r("不含税单价"))
    tdj = tdj.Replace("[数量]", r("数量"))
    tdj = tdj.Replace("[金额]", r("不含税金额"))
    tdj = tdj.Replace("[税率]", r("税率"))
    tdj = tdj.Replace("[税额]", r("税额"))
    tdj = tdj.Replace("[扣除额]", r("扣除限额"))  
    all &= tdj & vbcrlf
Next

表头模板
<?xml version="1.0" encoding="GBK" ?>
<Kp>       
<Fpxx>
<Djh>[单据数量]</Djh >                                                                                      
<Gfmc>[购方名称]</Gfmc>                                                                      
<Gfsh>[购方税号]</Gfsh>                                                      
<Gfyhzh>[购方银行账号]</Gfyhzh>                                                           
<Gfdzdh>[购方地址电话]</Gfdzdh>                                                         
<Bz>[备注]</Bz>                                                                  
<Fhr>朱欣辉</Fhr>                                                                                 
<Skr>唐明英</Skr>                                                                
<Spbmbbh>30.0</Spbmbbh>                               
<Hsbz>0</Hsbz>
<Fpsj>
[开票内容]
</Fpsj>
</Fpxx>
</KP>



内容模板:
<Sph>
  <Xh>[序号]</Xh>                           
  <Spmc>[商品名称]</Spmc>                              
  <Ggxh>[规格型号]</Ggxh>                             
  <Jldw>[计量单位]</Jldw>                                
  <Spbm>[商品编码]</Spbm>                              
  <Qyspbm>[企业商品编码]</Qyspbm>            
  <Syyhzcbz>[优惠政策标识]</Syyhzcbz>             
  <Lslbz>[零税率标识]</Lslbz >                           
  <Yhzcsm>[优惠政策说明]</Yhzcsm >                 
  <Dj>[单价]</Dj>                                         
  <Sl>[数量]</Sl>                           
  <Je>[金额]</Je>                           
  <Slv>[税率]</Slv>                           
  <Se>[税额]</Se>                          
  <Kce>[扣除额]</Kce >                                     
</Sph>


--  作者:zhuxinhui
--  发布时间:2019/9/7 11:36:00
--  
不知哪出问题了,看了大半天


--  作者:有点蓝
--  发布时间:2019/9/7 11:49:00
--  
代码不完整啊,哪个传说中的all变量,最后干嘛去了,飞升了?
--  作者:zhuxinhui
--  发布时间:2019/9/7 12:23:00
--  
刚刚复制不完整
Dim mb As String = FileSys.ReadAllText(ProjectPath & "表头模板.txt",Encoding.Default)
Dim t As Table = Tables("开票明细")
mb = mb.Replace("[单据数量]",t.Rows.count)
mb = mb.Replace("[购方名称]",e.Form.Controls("ComboBox1").text)
mb = mb.Replace("[购方税号]",e.Form.Controls("TextBox1").text)
mb = mb.Replace("[购方银行账号]",e.Form.Controls("TextBox2").text)
mb = mb.Replace("[购方地址电话]",e.Form.Controls("TextBox3").text)
mb = mb.Replace("[备注]",e.Form.Controls("TextBox6").text)
Dim dj As String = FileSys.ReadAllText(ProjectPath & "内容模板.txt",Encoding.Default)
Dim all As String = ""
For Each r As Row In t.Rows
    Dim tdj As String = dj  \'
    tdj = tdj.Replace("[序号]", r("序号"))
    tdj = tdj.Replace("[商品名称]", r("商品名称"))
    tdj = tdj.Replace("[规格型号]", r("规格型号"))
    tdj = tdj.Replace("[计量单位]", r("计量单位"))
    tdj = tdj.Replace("[商品编码]", r("税务商品编码"))
    tdj = tdj.Replace("[企业商品编码]", r("企业货品编码"))
    tdj = tdj.Replace("[优惠政策标识]", r("是否使用优惠政策标识"))
    tdj = tdj.Replace("[零税率标识]", r("零税率标识"))
    tdj = tdj.Replace("[优惠政策说明]", r("优惠政策说明"))
    tdj = tdj.Replace("[单价]", r("不含税单价"))
    tdj = tdj.Replace("[数量]", r("数量"))
    tdj = tdj.Replace("[金额]", r("不含税金额"))
    tdj = tdj.Replace("[税率]", r("税率"))
    tdj = tdj.Replace("[税额]", r("税额"))
    tdj = tdj.Replace("[扣除额]", r("扣除限额"))  
    all &= tdj & vbcrlf
Next
mb = mb.Replace("[开票内容]", all)
FileSys.WriteAllText(ProjectPath & "生成的xml.xml", mb, False, Encoding.Default)
msgbox("生成成功")
Dim proc As new Process
proc.file = ProjectPath & "生成的xml.xml"
proc.Start

--  作者:有点蓝
--  发布时间:2019/9/7 14:10:00
--  
FileSys.WriteAllText(ProjectPath & "生成的xml.xml", mb, False, Encoding.Default)
Dim str2 As String = FileSys.ReadAllText(ProjectPath & "生成的xml.xml",Encoding.Default)
output.show(str2) ‘’这里显示什么内容

--  作者:zhuxinhui
--  发布时间:2019/9/7 14:50:00
--  
Dim str2 As String = FileSys.ReadAllText(ProjectPath & "生成的xml.xml",Encoding.Default)
output.show(str2) ‘’这里显示什么内容
把这个加在msgbox("生成成功")前,直接就显示“生成成功”,生产的文件还在以前的一样

--  作者:有点蓝
--  发布时间:2019/9/7 15:03:00
--  
打开命令窗口,执行代码后看命令窗口显示什么内容

output.show(str2) ‘’这里显示什么内容