当前位置:编程学习 > VB >>

请教两个小问题

1。<?xml version="1.0" encoding="gb2312"?><XNHData><head><sendTime>2010-01-19 11:26:10</sendTime></head><businessData><data type="person"><01>01001000101         </01><02>韩    </t02><03>1</03><04>32<04></data><data type="person"><01>01001000102         </01><02>杨    </t02><03>2</03><04>33<04></data><data type="person"><01>01001000103         </01><02>莹      </t02><03>2</03><04>34<04></data><data type="person"><01>01001000104         </01><02>兰    </t02><03>2</03><04>35<04></data></dataSet></businessData></XNHData>
这个数据已被我读到text1.text,如何取任意节点的数据!
2。一个xml文件中,有好多相同的节点,如何遍历所有的数据加载到combo1中
效果像这样:
combo1.additem"01001000101-韩-1-32"
combo1.additem"01001000102-杨-2-33"
combo1.additem"01001000103-莹-2-34"
combo1.additem"01001000104-兰-2-35"
谢谢! --------------------编程问答-------------------- 1, getElementsByTagName
2, for each --------------------编程问答-------------------- 可以有详细代码吗,我是第一次搞这个东东! --------------------编程问答-------------------- WebBrowser1.Document.All(i).Name
代码一搜一大堆 --------------------编程问答--------------------
引用楼主 wisdomsoft 的回复:
这个数据已被我读到text1.text,如何取任意节点的数据!

取出来了就只是个字符串了,用正则.
或者用instr(),mid()这些函数来分析,定义两个临时变量记录位置作循环.
加载到combo1比较简单,循环的时候将分析得到的值一个个放进去.
--------------------编程问答-------------------- 01 是纯数字,不能作为节点名称,不符合 xml 命名规则。
所以无法用 XMLDOM 进行解析。 --------------------编程问答-------------------- 按你1提供的数据,程序如下:

Private Sub Form_Load()
   Text1.Text = "1。 <?xml version=""1.0"" encoding=""gb2312""?> <XNHData> <head> <sendTime>2010-01-19 11:26:10 </sendTime>" & _
                "</head> <businessData> <data type=""person""> <01>01001000101        </01> <02>韩    </t02> <03>1 </03> " & _
                "<04>32 <04> </data> <data type=""person""> <01>01001000102        </01> <02>杨    </t02> <03>2 </03>" & _
                "<04>33 <04> </data> <data type=""person""> <01>01001000103        </01> <02>莹      </t02> <03>2 </03>" & _
                "<04>34 <04> </data> <data type=""person""> <01>01001000104        </01> <02>兰    </t02> <03>2 </03>" & _
                "<04>35 <04> </data> </dataSet> </businessData> </XNHData>"
   Dim a As String, i1 As Long, i2 As Long, i3 As Long, istr(3) As String
   a = Text1.Text
   While a <> ""
      For i1 = 1 To 4
          Select Case i1
              Case 1, 3
                  i2 = InStr(a, "<0" & i1 & ">")
                  i3 = InStr(a, "</0" & i1 & ">")
                  istr(i1 - 1) = Trim(Mid(a, i2 + 4, i3 - i2 - 4))
             Case 2
                  i2 = InStr(a, "<0" & i1 & ">")
                  i3 = InStr(a, "</t0" & i1 & ">")
                  istr(i1 - 1) = Trim(Mid(a, i2 + 4, i3 - i2 - 4))
            Case 4
                  i2 = InStr(a, "<0" & i1 & ">")
                  i3 = InStr(i2 + 4, a, "<0" & i1 & ">")
                  istr(i1 - 1) = Trim(Mid(a, i2 + 4, i3 - i2 - 4))
        End Select
        
        a = Mid(a, i3)
      Next
      Combo1.AddItem Join(istr, "-")
      If InStr(a, "<01>") = 0 Then a = ""
  Wend
  
End Sub

补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,