Foxtable(狐表)用户栏目专家坐堂 → 生成 XML 代码报错、再求教


  共有2278人关注过本帖平板打印复制链接

主题:生成 XML 代码报错、再求教

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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
生成 XML 代码报错、再求教  发帖心情 Post By:2020/4/27 18:46:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:生成xml语句报错.png
图片点击可在新窗口打开查看

生成 XML 代码报错、再求教 !
所有代码如下:
Dim txt7 As WinForm.TextBox = e.Form.Controls("TextBox8")
Dim i0 As Integer = 0
For Each dr1 As Row In Tables(e.Form.name & "_Table1").GetCheckedRows
    i0+=1
Next
If i0 = 0 Then
    messagebox.show("请至少选择一份送货单","提示!")
    Return
End If
Dim dr As Row= Tables(e.Form.name & "_Table1").Current
Dim jo As New Foxtable.XObject
Dim s1 As String = "XThirdParty"
Dim s2 As String = "PURCHASE_ARRIVAL.I01"
Dim ja As New JArray
Dim ja1 As New JArray
Dim ja2 As New JArray
Dim ja3 As New JArray
jo("request")= New JObject
jo("request")("@type")= "sync"
jo("request")("@key")= "e3839305c3fc25529335d489247d0f21"
jo("request")("host")= New JObject
jo("request")("host")("@prod")= "XThirdParty"
jo("request")("host")("@ver")= "1.0"
jo("request")("host")("@id")= ""
jo("request")("host")("@lang")= "zh_CN"
jo("request")("host")("@timestamp")= "20170426161604037"
jo("request")("host")("@acct")= "db_nsyt"
jo("request")("service") = New JObject
jo("request")("service")("@prod")="E10"
jo("request")("service")("@name")="PURCHASE_ARRIVAL.ImportData"
jo("request")("service")("@ip")="192.168.1.2"
jo("request")("service")("@id")="demo"
jo("request")("payload")= New Jobject
jo("request")("payload")("param")= New JObject
jo("request")("payload")("param")("@key")="std_data"
jo("request")("payload")("param")("@type")="xml"
jo("request")("payload")("param")("data_request")= New JObject
jo("request")("payload")("param")("data_request")("datainfo")= New JObject
jo("request")("payload")("param")("data_request")("datainfo")("parameter")= New JObject
jo("request")("payload")("param")("data_request")("datainfo")("parameter")= ja
For i As Integer = 1 To 2
    Dim so As New JObject
    If i=1 Then
        so("@key")="productName"    '这个结果参数没出现在 XML语句中
        so("@type")="string"              '这个结果参数没出现在 XML语句中
        so("#text")= s1                                   '这人有值
    Else
        so("@key")="templateName"    '这个结果参数没出现在 XML语句中
        so("@type")="string"              '这个结果参数没出现在 XML语句中
        so("#text")= s2                                   '这人有值
    End If
    ja.add(so)
Next
jo("request")("payload")("param")("data_request")("datainfo")("data")=  New JObject
jo("request")("payload")("param")("data_request")("datainfo")("data")("@name")="PURCHASE_ARRIVAL"
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")=  New JObject
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("@seq")=Cstr(dr("SequenceNumber"))
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("field")= New JObject
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("field")= ja1
Dim s71 As String = dr("EdiDate")
Dim s7 As String=s71.substring(0,4) & s71.substring(5,2) & s71.substring(8,2)
For i1 As Integer = 1 To 4
    Dim so As New JObject
    Select Case i1
        Case 1
            so("@name")="DOC_CODE"     '到货单性质码
            so("@type")="string"
            so("#text")= Cstr(dr("DOC_TYPE"))
        Case 2
            so("@name")="SUPPLIER_CODE"    '供应商编码
            so("@type")="string"
            so("#text")= Cstr(dr("SUPPLIER_CODE"))
        Case 3
            so("@name")="DOC_DATE"    '送货日期
            so("@type")="string"
            so("#text")= s7 'dr("EdiDate")
        Case 4
            so("@name")="SUPPLIER_ORDER_NO"    '送货单号
            so("@type")="string"
            so("#text")= Cstr(dr("SUPPLIER_ORDER_NO"))
    End Select
    ja1.add(so)
Next
'Dim 变量名 As WinForm.Table = e.Form.Controls("Table1")
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("detail")= New JObject
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("detail")("@name")="PURCHASE_ARRIVAL_D"
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("detail")("row")= New JObject
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("detail")("row")= ja2
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("detail")("row")("fieldz") =  New JObject   ‘就在这里报错
jo("request")("payload")("param")("data_request")("datainfo")("data")("row")("detail")("row")("fieldz") = ja3
For Each dr1 As Row In Tables(e.Form.name & "_Table1").GetCheckedRows
    Dim so2 As New JObject
    so2("@seq")= Cstr(dr1("SequenceNumber"))     '供应商的送货单行号
    ja2.add(so2)
    For i3 As Integer = 1 To 1    ’这里有故意取一个字段来看还是报错,不明白为什么!
        Dim so3 As New JObject
        Select Case i3
            Case 1
                so3("@name")="SequenceNumber"     '供应商的送货单行号
                so3("@type")="numeric"
                so3("#text")= dr1("SequenceNumber")
            Case 2
                so3("@name")="PO_DOC_NO"           '采购订单单号
                so3("@type")="string"
                so3("#text")= Cstr(dr("PO_DOC_NO"))
            Case 3
                so3("@name")="SEQ"                 '采购订单序号
                so3("@type")="numeric"
                so3("#text")= Cstr(dr1("SEQ"))
            Case 4
                so3("@name")="SUB_SEQ"                 '采购订单子序号(收货信息顺序号)
                so3("@type")="numeric"
                so3("#text")= Cstr(dr1("SUB_SEQ"))
            Case 5
                so3("@name")="ITEM_CODE"                 '采购订单子序号(收货信息顺序号)
                so3("@type")="string"
                so3("#text")= Cstr(dr1("ITEM_CODE"))
            Case 6
                so3("@name")="BUSINESS_QTY"                 '收货数量
                so3("@type")="numeric"
                so3("#text")= Cstr(dr1("BUSINESS_QTY"))
        End Select
        ja3.add(so3)
    Next
Next
txt7.text=jo.ToXML
请教专家再指点,哪里出错了!
感谢!
[此贴子已经被作者于2020/4/27 18:50:29编辑过]

 回到顶部