转换MSXML DOMDocument以用作SqlDbType.Xml ADO.NET参数的值

我有一个存储过程接受从某些.NET / ADO.NET代码调用的xml参数(SqlDbType.Xml)。我已经使用System.XML.XMLReader通过测试工具对此进行了测试,以从文件中读取一些测试XML;
Dim xmlParam As SqlParameter = New SqlParameter("@xml", SqlDbType.Xml)
xmlParam.Value = New SqlTypes.SqlXml(XmlReader.Create(txtXMLFile.Text))
.Parameters.Add(xmlParam)
在这个代码进入的应用程序中,实际的XML在VB6对象中,在MSXML2.DOMDocument40对象中(VB6项目引用MSXML4)我已经研究了如何从VB6封送MSXML.DOMDocument40到.NET - 在事实上,.NET项目已经引用了MSXML4,所以这一切都很好。现在我需要做的就是将其正确转换,以便将其传递到存储过程中。 System.XML.XMLReader有许多带有流对象的重载,我想知道我是否可以在MSXML对象之上创建一个流?或者,如果我可以将MSXML转换为.NET XML类型,然后可以使用它? 显然性能将是一个考虑因素,但目前我只需要弄清楚如何做到这一点!     
已邀请:
更好的想法是根本不要混用MSXML和.NET。 如果必须,则从MSXML对象获取xml字符串,并在字符串上创建XmlReader,或者将字符串加载到XmlDocument中。     
MSXML DOM将保存实现COM IStream接口的任何内容,因此如果您可以找到映射到.NET流的实现,您应该能够相当有效地实现这一点。     

要回复问题请先登录注册