2010-02-22 114 views
1

我希望能夠讀取我的XML文檔,但我有點失落如何。我不能在這裏發佈我的XML,因爲它只是試圖使用標記。無論如何,我有一個根節點,圍繞我想讀的整個對象。從那裏,有幾個元素。其中2個元素可以有多個實例。只有一個對象需要從XML文檔中讀取。用VB.net從文檔中讀取XML

在此先感謝。我希望我可以解釋不夠而不能發佈我的XML

:::

下面是我的代碼至今:

Private Function ExtractXMLFromFileToBonder(ByVal path As String) As Bonder 
    Dim extractedBonder As New Bonder 
    Dim settings As New XmlReaderSettings 
    settings.IgnoreWhitespace = True 

    settings.CloseInput = True 

    Using reader As XmlReader = XmlReader.Create(path, settings) 

     With reader 

      .ReadStartElement("Machine_Name") 
      MsgBox(.GetAttribute("Name")) 

     End With 

    End Using 

    Return Nothing 

End Function 
+1

爲什麼這會降低投票率?這是一個合理的問題,可能需要進一步的限定,但並不完全模糊。 –

+0

謝謝,我不知道爲什麼。 –

+0

我開始得到的地方閱讀,但我的第一個元素是這樣的: <計算機名稱=「一些名」> 我奮力讀取該屬性。我可以推進並獲得下一個元素沒有問題。 –

回答

1

做點像

Dim m_xmld As XmlDocument 
Dim m_nodelist As XmlNodeList 
Dim m_node As XmlNode 

'Create the XML Document 
m_xmld = New XmlDocument() 

'Load the Xml file 
m_xmld.Load("YourPath\test.xml") 

'Show all data in your xml 
MessageBox.Show(m_xmld.OuterXml) 


'Get the list of name nodes 
m_nodelist = m_xmld.SelectNodes("/family/name") 

'Loop through the nodes 
For Each m_node In m_nodelist 
'Get the Gender Attribute Value 
Dim genderAttribute = m_node.Attributes.GetNamedItem("gender").Value 

'Get the firstName Element Value 
Dim firstNameValue = m_node.ChildNodes.Item(0).InnerText 

'Get the lastName Element Value 
Dim lastNameValue = m_node.ChildNodes.Item(1).InnerText 

'Write Result to the Console 
Console.Write("Gender: " & genderAttribute _ 
& " FirstName: " & firstNameValue & " LastName: " _ 
& lastNameValue) 
Console.Write(vbCrLf) 
Next 
+0

無法使用XMLReader執行此操作? –

+0

有多種方式。你也可以使用xpath。 – Kangkan