Foxtable(狐表)用户栏目专家坐堂 → 请教用代码合并XML文件问题


  共有611人关注过本帖树形打印复制链接

主题:请教用代码合并XML文件问题

帅哥哟,离线,有人找我吗?
13315253800
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
请教用代码合并XML文件问题  发帖心情 Post By:2024/3/8 10:53:00 [显示全部帖子]

蓝老师您好,我合并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

错误所在事件:

详细错误信息:

不可识别的数据库格式

 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/3/8 11:18:00 [显示全部帖子]

蓝老师,

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


 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By: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")

请蓝老师指导


 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/3/11 14:37:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By: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>
       

 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/3/11 16:22:00 [显示全部帖子]

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

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



 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/3/11 17:14:00 [显示全部帖子]

蓝老师我用代码

Dim fl As String = "D:\项目测试\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("EInvoice")("Header")("EIid")

提示错误

.NET Framework 版本:4.0.30319.36543

Foxtable 版本:2022.8.18.1

错误所在事件:窗口,XML导入窗口,Button1,Click

详细错误信息:

Object reference not set to an instance of an object.


 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/3/11 17:17:00 [显示全部帖子]

用如下代码可以成功导入数据

Dim fl As String = "D:\项目测试\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("Header")("EIid") '数据要一层层的取

r("EInvoiceTag") = xo("Header")("EInvoiceTag")


 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/3/12 11:41:00 [显示全部帖子]

蓝老师您好!第三层IssuItemInformation有多个节点,用下面的代码无法循环导入

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

Dim xml As String = FileSys.ReadAllText(FL)

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

Dim r3 As Row = Tables("IssuItemInformation").AddNew

r3("ItemName") = xo("EInvoiceData")("IssuItemInformation")("ItemName")

r3("Quantity") = xo("EInvoiceData")("IssuItemInformation")("Quantity")

r3("UnPrice") = xo("EInvoiceData")("IssuItemInformation")("UnPrice")

r3("Amount") = xo("EInvoiceData")("IssuItemInformation")("Amount")


不知道怎样用循环语句,敬请蓝老师指导


 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:535 积分:3897 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/3/12 15:03:00 [显示全部帖子]

蓝老师我用下列代码提示错误,请指点

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

Dim xml As String = FileSys.ReadAllText(FL)

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

Dim bms As JArray = xo("EInvoiceData")("IssuItemInformation")

For i As Integer = 0 To bms.Count - 1

    Dim r3 As Row = Tables("IssuItemInformation").AddNew

    Dim ygs As JArray = bms(i)("ItemName")

    For n As Integer = 0 To ygs.Count - 1

        r3("ItemName") = xo(ygs(n))

    Next

Next

错误信息:

Unable to cast object of type 'Newtonsoft.Json.Linq.JValue' to type 'Newtonsoft.Json.Linq.JArray'

 回到顶部
总数 13 1 2 下一页