XmlTextReader 错误 - 名称不能以“<”字符开头

XmlTextReader error - name cannot begin with the '<' character

所以我在尝试阅读 XML 文档时遇到错误。我以前使用过这样的代码没有问题。我已经与其他代码进行了比较,它们都是一样的,所以我基本上不知道问题出在哪里。

错误:

Name cannot begin with the '<' character, hexadecimal value 0x3C. Line 7, position 1.

完整代码:

Imports System.Xml

 Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Try
        IO.File.WriteAllText(IO.Path.Combine(IO.Path.GetTempPath, "IpadCode.xml"), My.Resources.IpadCode)
    Catch
        MsgBox("Error writing IpadCode list")
    End Try
End Sub

Private Sub GoButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GoButton.Click
    Dim store As String = Storenumber.Text
    If (IO.File.Exists("IpadCode.xml")) Then
        Dim document As XmlReader = New XmlTextReader("IpadCode.xml")
        While document.Read()
            If (document.Name = store) Then
                Output.Text = (document.ReadInnerXml)
            End If
        End While
    End If

End Sub
End Class

XML 文档示例:

    <?xml version="1.0" encoding="utf-8"?>

<Settings>

<50>    123456  </50>
<51>    123457  </51>
<52>    123458  </52>
<53>    123459  </53>
<54>    123460  </54>
<55>    123461  </55>
<56>    123462  </56>
<57>    123463  </57>
<58>    123464  </58>
<59>    123465  </59>
<60>    123466  </60>
</Settings>

XML 元素不能只是数字。这不是一个合格的名称。元素名称必须以字母(字母表)开头,后面可以跟字母数字字符。

如果你的输入文档确实有这样的行

<50>    123456  </50>

那么它的格式不正确XML。元素的名称不能以数字开头。不过,这些元素中的第一个不在第 7 行。

如果您是本文档的作者,请更改元素名称,使名称中的数字不会排在第一位:

<e50>    123456  </e50>

或者,更好的是,重新考虑元素名称是否应该是数字。元素的位置可以很容易地从 XML 文档的结构中恢复,并且它不是您需要在元素名称中表示的东西。此外,每个元素都有不同的名称,这是一种不好的做法,并且很难访问内容。通常,具有相同语义的元素具有相同的名称。