VB.net没有从xml中获取数据

时间:2014-04-05 19:45:40

标签: xml vb.net

我正在尝试读取XML文件并将其文本作为文本框文本。我无法执行此操作,它显示此错误:' Text'是无效的XmlNodeType。第1行,第31位。'

看起来我错过了一些基本的东西。感谢任何帮助。

这是我的XML文件:

<root>
<doc>
<name1 name="name">Shashwat</name1>
<age name="age">21</age>

</doc>
</root>

这是我的代码:

Imports System.IO
Imports System.Xml

Public Class Form6

    Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim m_xmlr As XmlTextReader

        m_xmlr = New XmlTextReader("D:\register.xml")

        m_xmlr.WhitespaceHandling = WhitespaceHandling.None

        m_xmlr.Read()



        While Not m_xmlr.EOF

            m_xmlr.Read()

            If Not m_xmlr.IsStartElement() Then
                Exit While
            End If

            Dim nameAttribute = m_xmlr.GetAttribute("doc")

            m_xmlr.Read()

            Dim firstNameValue = m_xmlr.ReadElementString("name1")

            Dim ageValue = m_xmlr.ReadElementString("age")

            TextBox1.Text = firstNameValue
            TextBox2.Text = ageValue

        End While

        m_xmlr.Close()
    End Sub
End Class

2 个答案:

答案 0 :(得分:0)

以下是使用XDocument / XElement的更简单的方法:

Dim xDoc As XDocument = XDocument.Load("D:\register.xml")
Dim doc As XElement = xDoc.Element("doc")

Dim nameAttribute As String = doc.Element("name1").Value
Dim ageValue As String = doc.Element("age").Value

答案 1 :(得分:0)

我解决了它,这是phil给出的建议

我在xml文件的开头添加了这一行

<?xml version="1.0" encoding="Windows-1252"?>