Преобразование VBA XML Reader в VB.net - PullRequest
0 голосов
/ 10 февраля 2011

В настоящее время я переписываю программу чтения VBA XML в версию VB.net для проекта.У меня есть следующий код в VBA:

    Dim XML_Doc As Object:  Set XML_Doc = CreateObject("MSXML2.DOMDocument")
    Dim XML_Detail As New ADODB.Recordset: XML_Detail.ActiveConnection = 
            "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;"

Мне сказали, что я должен иметь возможность использовать почти точный код в моей версии VB.Net, но у меня возникают некоторые проблемы.Я добавил в качестве ссылки на проект VB.net Microsoft ActiveX 2.8, чтобы я мог использовать ADODB.

Код в VB.Net:

    Dim XmlDoc As Object : XmlDoc = CreateObject("MSXML2.DOMDocument")
    Dim XmlDetail As New ADODB.Recordset : XmlDetail.ActiveConnection = 
            "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;"

При запуске приложения оно попадает в XmlDetail и выдает следующую ошибку:

System.Runtime.InteropServices.COMException was unhandled. 
Arguments are of the wrong type, are out of acceptable range, 
or are in conflict with one another.

У кого-нибудьопыт с этим или как я могу решить это?

Спасибо

Ответы [ 2 ]

4 голосов
/ 10 февраля 2011

Вы не должны использовать MSXML в .Net:

Использование MSXML не поддерживается в приложениях .NET

http://support.microsoft.com/kb/815112

Даже больше деталей:

http://blogs.msdn.com/b/alejacma/archive/2008/09/08/the-use-of-msxml-is-not-supported-in-net-applications.aspx

1 голос
/ 10 февраля 2011

После много работы я нашел решение:

Dim XmlDoc As Object : XmlDoc = CreateObject("MSXML2.DOMDocument")
XmlDetail.Open(DirSaveXml & ServiceName & ".xml", "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...