2013-05-07 2 views
-2

Я переношу проект VB6 на C#. У меня есть следующий код VB6, который я не совсем понимаю:Уточнение на SetProperty в VB6

Dim xmlDoc As Object 
Set xmlDoc = CreateObject("MSXML2.DomDocument." & sVer) 
xmlDoc.setProperty "NewParser", True 

Я раньше не делал кодирование VB. Может ли кто-нибудь объяснить, что делают вышеприведенные строки, и каков будет эквивалентный код на языке Java или C#. Благодаря!

+1

Не можете ли вы это сделать? – Freelancer

+0

не удалось найти адекватные ресурсы –

+0

Я работал пять лет в VB4-5-6 ... более десяти лет назад:/Я предлагаю вам НЕ НАЧАТЬ программирование VB6 в 2013 году !!!! Это не стоит времени! Перейдите для VB.NET, C# или Java ... VB6 - это DEAD looong time ago :( –

ответ

0

Не зная много о VB6, это очень похоже на разбор XML. Бросив MSXML2.DomDocument на google.com, как было предложено, дал this document from MSDN как результат №1, который должен привести вас в правильном направлении.

1

Быстрый бег вниз на то, что это делает:

Set xmlDoc = CreateObject("MSXML2.DomDocument." & sVer) 

Эта линия конкретизирует конкретную версию реализации от Microsoft стандарта DOM консорциума W3C. Вы не должны указать версию - вы должны просто сделать:

Set xmlDoc = CreateObject("MSXML2.DomDocument") 

Или еще лучше, добавить ссылку на последнюю «Microsoft XML Nn» библиотеку и сделать:

Dim xmlDoc As MsXml2.DomDocument 
Set xmlDoc = New MsXml2.DomDocument 

причина в том, что существует так много версий, потому что есть несколько, немного несовместимых версий одной и той же библиотеки. И разные установленные приложения могут использовать другую версию.

А:

xmlDoc.setProperty "NewParser", True 

Это пример нестандартных расширений Microsoft, в DOM. Для поддержки различных видов поведения, характерных для Microsoft, они добавили понятие «вторичные свойства», которые не имеют оснований в официальном стандарте W3C DOM. В этом конкретном случае он устанавливает для свойства «NewParser» значение True (см. http://msdn.microsoft.com/en-gb/library/windows/desktop/ms767616%28v=vs.85%29.aspx). Это ничего не значит в любой версии, отличной от MSXML6.DLL.

Там нет прямой версии Java, но этот пример позволяет создать объект DOM на основе строки:

How do I load an org.w3c.dom.Document from XML in a string?

В этом примере вызов SetProperty() не существует.

В .NET эквивалент (в C#) имеет вид:

using System.xml 

function doIt() 
{ 
    XmlDocument doc = new XmlDocument(); 
} 

SetProperty() не существует в XmlDocument либо.

Смежные вопросы