0

我对编程非常陌生,我正在尝试从 IMDB 获取大约 1500 部电影列表中的信息。我找到了一个网站,可以从 XML 文件中获取数据,但我无法获取数据。我想把它写到一个分隔文件中,这样我就可以在访问中导入这整个东西,这样我就可以拥有这些电影的综合 imdb 数据库。到目前为止,这是我的代码。

    Imports System.IO
    Imports System.Xml
    Imports System.Text

    Public Class Form1


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartButton.Click

    Dim bug As String = ""
    Dim genre As String = ""
    Dim MoviesList() As String
    Dim counter As Integer = 0
    Dim amirunning As Boolean = True
    Dim rating As String = ""
    Dim year As String
    Dim rated As String
    Dim directors As String
    Dim writers As String
    Dim actors As String
    Dim plot As String



    MoviesList = {1500 movies in here}

    Do While counter < MoviesList.Length And counter <= 0

        Label1.Text = MoviesList(counter)

        WebBrowser1.Navigate("http://deanclatworthy.com/imdb/?q=" & MoviesList(counter) & "&type=xml")

        Dim BookXDocument = XDocument.Load("http://deanclatworthy.com/imdb/?q=" & MoviesList(counter) & "&type=xml")
        Dim myquery = From movie In BookXDocument.<movie>
        Select movie...<genres>.Value


        Dim myquery2 = From movie In BookXDocument.<movie>
        Select movie...<languages>.Value


        textbox1.text = myquery



        counter = counter + 1
    Loop

End Sub


End Class

我无法弄清楚如何将 myquery 和 myquery2 值用作字符串!

我在线收到以下错误

    textbox1.text = myquery

它返回为“无法将'WhereSelectEnumerableIterator`2 [System.Xml.Linq.XElement,System.String]'类型的对象转换为'System.String'类型。”

4

3 回答 3

0

您可以使用表的 ReadXML 方法将 xml 直接导入数据表。

于 2013-05-25T06:47:11.143 回答
0

您的变量myQuery包含查询表达式,而不是结果。在 LINQ 中,您必须在配置后运行查询。

有很多方法可以运行。

  • 对于每个数据

    调用 .ToARrya()、.ToList() 或 ToDictionary() 方法。

    textbox1.Text = myQuery.ToArray();

看起来您正在使用 XML,因此您需要使用一些 Linq To XML 帮助程序来深入了解 XML 数据以获取您的字符串。

于 2013-05-25T05:07:32.490 回答
0

我会使用String.Join方法。例如,如果您希望这些用 分隔,,请执行以下操作(如果 VB.NET 语法不好,我很抱歉,没有练习):

Dim movieList = String.Join( _
    ", ", _
    From movie In BookXDocument.<movie> Select movie...<genres>.Value)
Dim languageList = String.Join( _
    ", ", _
    From movie In BookXDocument.<movie> Select movie...<languages>.Value)
于 2013-05-24T23:34:06.337 回答