所以我在这里得到了我的xml文件。 该文件名为MyName.xml
<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
<Data>
<Person>
<Name>ggg</Name>
<Email>erty</Email>
<Tel>567890-</Tel>
</Person>
<Person>
<Name>hank</Name>
<Email>3456</Email>
<Tel>234567890-</Tel>
</Person>
</Data>
我不知道如何让这个函数读取这个xml文件。我觉得我很接近这一点。我复制了书中的代码,然后我更改了一些部分。我只是不知道如何让它改变我使用它。我对这里的一些东西也非常困惑。我留下了评论。但我想知道我错过了什么错误,以保持弹出。
错误 - 未定义“人物”类型。 (第8,10,20行)
对于拥有相同书籍的任何人(murach的Visual Basic 2010),我更改之前的原始代码在第713页
本书中的原始代码使用了包含4个条目的xml文件。每个都有3个部分,很像我的。
Imports System.Xml
Imports System.IO
Public Class Form2
Private Const path As String = "MyName.xml" 'it is in the bin folder.'
Public Shared Function GetPerson() As List(Of Person) 'what does this do? (Of Person) Am i missing something?'
Dim people As New List(Of Person) 'Here it is again. What do i do to fix this partpart'
Dim settings As New XmlReaderSettings
settings.IgnoreComments = True
settings.IgnoreWhitespace = True
Dim xmlIn As XmlReader = XmlReader.Create(path, settings)
If xmlIn.ReadToDescendant("Person") Then
Do
Dim person As New Person
person.Name = xmlIn("Name")
xmlIn.ReadStartElement("Person")
person.Email = xmlIn.ReadElementContentAsString
person.Tel = xmlIn.ReadElementContentAsString 'to make life simple for testing this, for now.'
people.Add(person)
Loop While xmlIn.ReadToNextSibling("Person")
End If
xmlIn.Close()
Return people
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'I will end up puting code here to do something later. Just trying stuff right now.'
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
任何帮助都会很好。我知道有一种更好的方式,甚至可能更容易,但我需要通过我正在上课。所以我得到的只是这个代码和一本非常大的书。稍后对于实际的分配我必须将它添加到vb中的数组然后搜索它并且bla bla bal ....所以这只是我理解代码所以我可以到达那一部分。感谢任何可以帮助我的东西。
答案 0 :(得分:1)
您缺少的是type
“人” - 代码需要工作。
一个简单的实现可能如下所示:
Public Class Person
Public Name As String
Public Tel As String
Public EMail As String
End Class
答案 1 :(得分:1)
Public Shared Function GetPerson() As List(Of Person) 'what does this do? (Of Person) Am i missing something?'
List(Of Person)
声明了Person
类型的通用列表。这将是Person
个对象的集合。
错误消息“类型Person
未定义”告诉您程序无法找到Person
的定义 - 很可能是因为您尚未定义类。你需要这样的东西(基于你发布的代码):
Public Class Person
Public Property Name As String
Public Property Email As String
Public Property Tel As String
End Person