我目前正处于一个项目的中途,我正在使用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中发现很难添加必要的库。任何人都可以指出我正确的方向做什么?
答案 0 :(得分:1)
在数据库中,第一列的类型是什么?换句话说,recordXml的类型是什么?显然它不是可以直接转换为String的东西。找出数据类型,然后你就可以弄清楚如何转换它。
如果对应用程序使用Option Explicit,则需要声明变量。