2012-10-23 84 views
1

我得到了類型值「戲劇」,但它只是一個得到,我怎樣才能得到三種類型的值,如「戲劇」,「喜劇」和「驚悚片」?vb net:從xml獲取字符串,如何獲取三個值?

<details> 
    <id>734357</id> 
    <title>vb best</title> 
    <year>2012-07-27</year> 
    <genre>Drama</genre> 
    <genre>Comedy</genre> 
    <genre>Thriller</genre 
    <studio></studio> 
</details> 


    Dim doc As New XmlDocument() 
    Dim nodes As XmlNodeList 
    doc.Load(FILE_NAME) 

    nodes = doc.SelectNodes("/details") 
    Dim node As XmlNode 

    For Each node In nodes 

     Dim nodeid As XmlNode = node.SelectSingleNode("id") 
     If nodeid IsNot Nothing Then 
      MsgBox(node.SelectSingleNode("id").InnerText) 
     End If 
     Dim nodeimdb_id As XmlNode = node.SelectSingleNode("title") 
     If nodeimdb_id IsNot Nothing Then 
      MsgBox(node.SelectSingleNode("title").InnerText) 
     End If 

     Dim nodegenre As XmlNode = node.SelectSingleNode("genre") 
     If nodegenre IsNot Nothing Then 
      MsgBox(node.SelectSingleNode("genre").InnerText) 
     End If 

    Next 

回答

0
Dim doc As New XmlDocument() 
Dim nodes As XmlNodeList 
doc.Load(FILE_NAME) 

nodes = doc.SelectNodes("/details") 
Dim node As XmlNode 

For Each node In nodes 

    Dim nodeid As XmlNode = node.SelectSingleNode("id") 
    If nodeid IsNot Nothing Then 
     MsgBox(nodeid.InnerText) 
    End If 
    Dim nodeimdb_id As XmlNode = node.SelectSingleNode("title") 
    If nodeimdb_id IsNot Nothing Then 
     MsgBox(nodeimdb_id.InnerText) 
    End If 

    Dim genreNodes As XmlNodeList = node.SelectNodes("genre") 
    For each genreNode in genreNodes 
     MsgBox(genreNode.InnerText) 
    Next 

Next 

將是一種方式。 請注意,如果您已經擁有該節點,則無需重新獲取該節點。

+0

它的工作!謝謝! – user1769475

0

使用.SelectNodes而不是.SelectSingleNode