在VB中将XML对象作为String返回

时间:2014-10-24 13:40:45

标签: xml vb.net visual-studio vba recordset

我目前正处于一个项目的中途,我正在使用Visual Basic和COM(组件对象模型)从古老的Adobe Workflow服务器迁移数据。

我试图从VB中的记录集中提取XML对象并将其放在XML文件(data.xml)中。问题是,当我尝试将其打印到外部文件时,我收到一条错误,说明了......

"Cast from type 'IXMLData' to type 'String' is not valid."

我现有的代码是......

    'Open a recordset
    record = conn.Execute(SELECT xmldata FROM WorkItems)

    'Open the FileSystemObject objFs 
    objFs = CreateObject("Scripting.FileSystemObject")

    'Open a textstream (objTextStream) to virtual created file 
    objTextStream = objFs.CreateTextFile(locationStr, True)

    'Store and concatinating content into a variable
    strWriteString = "<?xml version=\1.0\encoding=\UTF-8\?>" & vbCrLf

    Dim recordXml = record.Collect(0)
    Do While Not record.EOF
        strWriteString = strWriteString & "<dummy>" & recordXml & "</dummy>" & vbCrLf
        record.MoveNext()
    Loop
    record.Close()

我曾尝试将对象设置为String,但这并不起作用,而且我在Visual Studio 2003中发现很难添加必要的库。任何人都可以指出我正确的方向做什么?

1 个答案:

答案 0 :(得分:1)

在数据库中,第一列的类型是什么?换句话说,recordXml的类型是什么?显然它不是可以直接转换为String的东西。找出数据类型,然后你就可以弄清楚如何转换它。

如果对应用程序使用Option Explicit,则需要声明变量。