[英]How to create variables in vb.net with variable names being element name which are read from an xml file
[英]How to get element names from an xml document in vb.net
我有一个xml文件,例如:
<config>
<email Host="201.0.0.0" From="mail@mail.com" Pass="xxx" Name="xxx"/>
<gir g1="Traditional" g2="mid Techn" g3="High Tech"/>
<costs>
<Pre-Incube inscr="7000.00" add="300.00"/>
<Normal inscr="1600.00" inc="7000.00" add="500.00"/>
<Urgent inscr="1600.00" inc="5000.00" add="500.00"/>
<Estance inscr="1600.00" men="2500.00"/>
<Post inscr="1600.00" men="1500.00"/>
</costs>
</config>
获取元素“ gir”的属性
Dim doc As XmlDocument = New XmlDocument()
doc.Load(path)
Dim root As XmlNode = doc.DocumentElement
Dim nodeGir As XmlNode = root.SelectSingleNode("/config/gir")
cboGir.Items.Add(nodeGir.Attributes.ItemOf("g1").InnerText)
cboGir.Items.Add(nodeGir.Attributes.ItemOf("g2").InnerText)
cboGir.Items.Add(nodeGir.Attributes.ItemOf("g3").InnerText)
但是,如何在“成本”下获取子元素的名称 :
Pre-Incube, Normal, Urgent, Estance, Post
从此MSDN页面改编而成:
Dim costs As XmlNode = root.SelectSingleNode("/config/costs")
Dim i As Integer
For i = 0 To costs.ChildNodes.Count - 1
cboGir.Items.Add(costs.ChildNodes[i].Name)
Next i
或者可能更容易(从此MSDN页面 ):
Dim costs As XmlNodeList = root.SelectNodes("/config/costs/*")
For Each book In costs
cboGir.Items.Add(book.Name)
Next
要获取属于费用子项的所有元素的名称,可以执行以下操作:
For Each node As XmlNode In doc.SelectNodes("/config/costs/*")
cboGir.Items.Add(node.Name)
Next
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.