首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用vb 2010脚本读取此Xml文件?

如何使用vb 2010脚本读取此Xml文件?
EN

Stack Overflow用户
提问于 2013-10-27 17:51:08
回答 1查看 177关注 0票数 0

所以我这里有我的xml文件。该文件名为MyName.xml

代码语言:javascript
运行
复制
<?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文件。我觉得我快要把这件事做好了。我抄袭了书中的代码,然后换了一些零件。我只是不知道如何改变它让我使用它。我在这里的一些事情上也很困惑。我在上面留下了评论。但我想知道,我错过了什么错误,不断弹出。

错误-未定义“Person”类型。(第8、10、20行)

对于任何有同一本书(murach的Visual 2010)的人,我修改前的原始代码在第713页

书中的原始代码使用了一个包含4个条目的xml文件。每个都有三个部分,很像我的。

代码语言:javascript
运行
复制
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中的数组中,然后搜索它和bal.所以,这只是我理解代码,这样我才能进入那个部分。感谢一切能帮助我的人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-27 19:00:39

您所缺少的是type "person“--代码需要它才能工作。一个简单的实现可能如下所示:

代码语言:javascript
运行
复制
Public Class Person
   Public Name As String
   Public Tel As String
   Public EMail As String
End Class
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19621315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档