首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MSXML DOMDocument转换为SqlDbType.Xml ADO.NET参数值

将MSXML DOMDocument转换为SqlDbType.Xml ADO.NET参数值
EN

Stack Overflow用户
提问于 2009-03-10 09:59:16
回答 2查看 1.4K关注 0票数 0

我有一个存储过程,它接受从一些.NET/ ADO.NET代码调用的xml参数(SqlDbType.Xml)。我已经通过使用System.XML.XMLReader从文件中读取一些测试XML的测试工具对此进行了测试;

代码语言:javascript
复制
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,所以一切都很好。现在我需要做的就是正确地转换它,这样它就可以被传递到存储的proc中。

System.XML.XMLReader有许多获取流对象的重载,我想知道是否可以在MSXML对象之上创建一个流?或者,如果我可以将MSXML转换为.NET XML类型,然后可以使用哪种类型?

显然,性能将是一个考虑因素,但目前我只需要弄清楚如何做到这一点!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-10 10:33:56

更好的办法是完全不要将MSXML和.NET混合在一起。

如果必须,则从MSXML对象获取xml字符串,然后在该字符串上创建一个XmlReader,或者将该字符串加载到XmlDocument中。

票数 0
EN

Stack Overflow用户

发布于 2009-03-10 10:39:53

MSXML DOM将保存到实现COM IStream接口的任何内容,因此,如果您可以找到映射到.NET流的实现,您应该能够相当有效地实现这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/629508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档