Чтение XML из документа с VB.net - PullRequest
1 голос
/ 22 февраля 2010

Я хочу читать XML-документ, но немного растерялся, как это сделать. Я не могу опубликовать свой XML здесь, потому что он просто пытается использовать разметку. В любом случае, у меня есть корневой узел, который окружает весь объект, который я хочу прочитать. Оттуда есть несколько элементов. 2 из этих элементов могут иметь несколько экземпляров. Будет только один объект, который мне нужно прочитать из документа 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

Ответы [ 4 ]

1 голос
/ 22 февраля 2010

сделать что-то вроде

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
1 голос
/ 22 февраля 2010

Извлечение System.Xml.XmlDocument и XPath .

1 голос
/ 22 февраля 2010

Вы также можете использовать linq to xml.

Учебники:

http://www.devcurry.com/2009/05/linq-to-xml-tutorials-that-make-sense.html

или

http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx

или я рекомендую эту книгу Linq in Action, опубликованную Мэннингом.

http://linqinaction.net/

1 голос
/ 22 февраля 2010

Используйте xml reader из System.xml для достижения этой цели. Вы можете использовать xmlreader по вашему выбору. Обратитесь к пространству имен XML на http://msdn.microsoft.com/en-us/library/system.xml%28VS.71%29.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...