以文本方式查看主题

-  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=166176)

--  作者:newsun2k
--  发布时间:2021/5/21 17:33:00
--  XML文件读取
<?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)  好像不行啊。
  

--  作者:有点蓝
--  发布时间: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
--  发布时间: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

--  作者:有点蓝
--  发布时间: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