我有一个存储过程,它接受从一些 .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)我已经研究了如何将 MSXML.DOMDocument40 从 VB6 编组到 .NET - 在事实上,.NET 项目已经引用了 MSXML4,所以这一切都很好。现在我需要做的就是正确转换它,以便它可以传递到存储的过程中。
System.XML.XMLReader 有许多采用流对象的重载,我想知道是否可以在 MSXML 对象之上创建一个流?或者如果我可以将 MSXML 转换为 .NET XML 类型,然后可以使用?
显然性能将是一个考虑因素,但目前我只需要弄清楚如何以任何方式做到这一点!