以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教用代码合并XML文件问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190859)

--  作者:13315253800
--  发布时间:2024/3/8 10:53:00
--  请教用代码合并XML文件问题

蓝老师您好,我合并XML文档的代码如下,但提示错误,请蓝老师指导

\'打开文件对话框,合并用户指定的文件

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog

dlg.Filter = "XML文档|*.xml" \'设置筛选器

If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮

    Dim mg As New Merger

    mg.SourcePath = dlg.FileName

    mg.SourceTableName = "BasicInformation" \'要合并源表的名称

    mg.DataTableName = "合计金额" \'接收合并数据的数据表的名称

    mg.Merge()\'合并表

End If

执行代码后提示

.NET Framework 版本:4.0.30319.36543

Foxtable 版本:2022.8.18.1

错误所在事件:

详细错误信息:

不可识别的数据库格式
--  作者:有点蓝
--  发布时间:2024/3/8 10:57:00
--  
Merger不支持XML文档,只能使用下面的系统命令

Syscmd.Table.MergeFromXML()

--  作者:13315253800
--  发布时间:2024/3/8 11:18:00
--  
蓝老师,

Syscmd.Table.MergeFromXML()的使用格式是怎样的,有使用案例吗,请指导


--  作者:有点蓝
--  发布时间:2024/3/8 11:27:00
--  
这个功能发布后不能使用的。

建议这种方式手工分析xml:http://www.foxtable.com/mobilehelp/topics/0171.htm

比如

Dim xml As String = "<xml><to>George</to><from>John</from><content>Don\'t forget the meeting!</content></xml>"
Dim xo As Foxtable.XObject = Foxtable.XObject.Parse(xml)
Dim r As Row = Tables("表A").AddNew
r("发送人") = xo("to")
r("接收人") = xo("from")
r("内容") = xo("content")

--  作者:13315253800
--  发布时间:2024/3/11 14:19:00
--  

蓝老师如果一个XML文件有多个表,要分别导入狐表相应的表中怎样写代码?例如将“24132.XML”文件中“Header”表的EIid列和“SellerInformation”表的SellerIdNumSellerName两列,分别导入狐表“Header”和“SellerInformation”表中,用下面的代码就不行了

Dim fl As String = "F:\\测试项目\\24132.XML"

Dim xml As String = FileSys.ReadAllText(FL)

Dim xo As Foxtable.XObject = Foxtable.XObject.Parse(xml)

Dim r As Row = Tables("Header").AddNew

r("EIid") = xo("EIid")

请蓝老师指导


--  作者:有点蓝
--  发布时间:2024/3/11 14:30:00
--  
xml文档的结构是怎么样的
--  作者:13315253800
--  发布时间:2024/3/11 14:37:00
--  

--  作者:13315253800
--  发布时间:2024/3/11 14:38:00
--  
<?xml version="1.0" encoding="utf-8" standal?>
<EInvoice>
    <Header>
        <EIid>24132000000024297906</EIid>
        <EInvoiceTag>SWEI1300</EInvoiceTag>
        <Version>0.31</Version>
      <SellerInformation>
            <SellerIdNum>92130608MA08K6LB3J</SellerIdNum>
            <SellerName>保定市国景办公家具销售部</SellerName>
            <SellerAddr>河北省保定市清苑区建设南路93号</SellerAddr>
            <SellerTelNum>15131278711</SellerTelNum>
            <SellerBankName>清苑县农村信用联社股份有限公司</SellerBankName>
            <SellerBankAccNum>243030122000014842</SellerBankAccNum>
        </SellerInformation>
        <BuyerInformation>
            <BuyerIdNum>91130605743445377K</BuyerIdNum>
            <BuyerName>河北集团有限公司</BuyerName>
            <BuyerTelNum>0312-5800618</BuyerTelNum>
            <BuyerAddr>河北省保定市清苑区朝阳南大街3988号</BuyerAddr>
            <BuyerBankName>中国建设银行股份有限公司清苑支行</BuyerBankName>
            <BuyerBankAccNum>13050166720800002239</BuyerBankAccNum>
        </BuyerInformation>
        <BasicInformation>
            <TotalAmWithoutTax>2524.75</TotalAmWithoutTax>
            <TotalTaxAm>25.25</TotalTaxAm>
            <TotalTax-includedAmount>2550.00</TotalTax-includedAmount>
            <TotalTax-includedAmountInChinese>贰仟伍佰伍拾圆整</TotalTax-includedAmountInChinese>
            <Drawer>周树新</Drawer>
            <RequestTime>2024-03-05 17:41:21</RequestTime>
        </BasicInformation>
       

--  作者:有点蓝
--  发布时间:2024/3/11 14:42:00
--  
数据要一层层的取

r("EIid") = xo("EInvoice")("Header")("EIid")

--  作者:13315253800
--  发布时间:2024/3/11 16:22:00
--  

蓝老师我导入一个表成功了,再导入第二个表就不行了,请指导

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:项目测试.zip