Foxtable(狐表)用户栏目专家坐堂 → XML文件读取


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

主题:XML文件读取

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


加好友 发短信
等级:七尾狐 帖子:1501 积分:11195 威望:0 精华:0 注册:2014/8/13 16:19:00
XML文件读取  发帖心情 Post By:2021/5/21 17:33:00 [只看该作者]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dmh SYSTEM "20010101.dtd"><cn_notice_info>
  <notice_name name="通知书名称">受理通知书</notice_name>
  <postcode name="邮编">215</postcode>
  <address_info name="收件人地址">江苏省</address_info>
  <receiver_name name="收件人姓名">苏州</receiver_name>
....

XML文件格式如上,请教这个文件如何读取啊。
想获得通知书名称。
Dim XML As String = filesys.ReadAllText(file,Encoding.UTF8)  好像不行啊。
  

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/21 17:42:00 [只看该作者]

参考:http://www.foxtable.com/mobilehelp/topics/0171.htm

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=161424&skin=0
[此贴子已经被作者于2021/5/21 17:42:08编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1501 积分:11195 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2021/5/22 17:14:00 [只看该作者]

帮助里面 的代码。稍微修改一下数据就报错了。
要求员工必须2个以上才行,如果只有1个,用下面这种方式获得就会出错。
怎么解决?我不能确保过来的XML中,对应的表格中的数据是1个还是多个。

Dim xml As String = "<xml><公司>宏兴贸易</公司><部门><名称>销售部</名称><员工>张三</员工></部门>
xml = xmL & "<部门><名称>行政部</名称><员工>王五</员工><员工>赵六</员工></部门></xml>"
Dim xo As Foxtable.XObject = Foxtable.XObject.Parse(xml)
Output.Show(xo("公司"))
Dim bms As JArray = xo("部门")
For i As Integer = 0 To bms.Count - 1
    Output.show(bms(i)("名称"))
    Dim ygs As JArray = bms(i)("员工")
    For n As Integer = 0 To ygs.Count - 1
          Output.Show(ygs(n))
    Next
Next

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/22 17:37:00 [只看该作者]

For i As Integer = 0 To bms.Count - 1
    Output.show(bms(i)("名称"))
    If Typeof bms(i)("员工") Is JArray
        Dim ygs As JArray = bms(i)("员工")
        For n As Integer = 0 To ygs.Count - 1
            Output.Show(ygs(n))
        Next
    Else
        Output.show(bms(i)("员工"))
    End If
Next


 回到顶部