我正在尝试读取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
答案 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"?>