2012-01-05 180 views
1

我正在使用vb.net和xmlreader。如何搜索具有相同節點名稱但不同父節點名稱的嵌套節點? 我的xml文件具有不同的父節點名稱,但具有相同的子節點名稱。 我的代碼工作正常,當我搜索特定的節點名稱,但由於一些子節點具有相同的節點名稱,結果是不正確的:如何搜索具有相同節點名稱但不同父節點名稱的嵌套節點?

While XmlReader.Read() 
      Select Case XmlReader.Name.ToString() 
       Case "NumberOfGrants" 
        strNumOfGrants = Trim(XmlReader.ReadString())     
       Case "G_Info" 
        If XmlReader.Name.ToString = "Name" Then 
         strGrant = Trim(XmlReader.ReadString()) 
        End If 
       Case "S_Info" 
        If XmlReader.Name.ToString = "Name" Then 
         strSupport = Trim(XmlReader.ReadString()) 
        End If 
       Case "D_Info" 
        If XmlReader.Name.ToString = "Name" Then 
         strDatabank = Trim(XmlReader.ReadString()) 
        End If 
      End Select 

我如何獲得每個「G_Info /名稱值','S_Info/Name'和'D_Info/Name'節點? 感謝,

回答

0

我會使用的XmlDocument和XPath ......

Dim tDocument as XmlDocument = New XmlDocument 
Dim tNodes As XmlNodeList = Nothing 

tDocument.Load("path to xml file") 
tNodes = tDocument.SelectNodes("G_Info/Name") 

For Each tNode As XmlNode In tNodes 
    Debug.Print("Name is " & tNode.Value) 
Next 

重複每個* _info類型...或者,如果ONLY曾經下* _info類型出現的 「名稱」 節點..您可以將XPath更改爲「名稱」,並將它們全部取出。

相關問題