1

次のような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  
4

2 に答える 2

3

この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 

NameXmlNodeのプロパティです- ドキュメントはあなたの友達です。

于 2012-12-22T22:21:08.137 に答える
2

コストの子であるすべての要素の名前を取得するには、次のようにします。

For Each node As XmlNode In doc.SelectNodes("/config/costs/*")
    cboGir.Items.Add(node.Name)
Next
于 2012-12-23T00:53:52.933 に答える