2013-05-07 19 views
-2

我將一個VB6項目移植到C#中。我有以下VB6代碼,我不完全明白:在VB6中對SetProperty進行說明

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

我從來沒有做過VB編碼之前。有人可以解釋以上幾行是什麼,以及Java或C#等語言中的等效代碼是什麼。謝謝!

+1

你不能谷歌嗎? – Freelancer 2013-05-07 11:02:35

+0

找不到足夠的資源 – 2013-05-07 11:06:12

+0

我在VB4-5-6工作了五年......十多年前:/我建議你不要在2013年開始VB6編程!這是不值得的時間!去VB.NET,C#或Java ... VB6是DEAD Looong時間:( – 2013-05-07 11:58:36

回答

0

不知道VB6的大部分,它聽起來很像XML解析。按照建議在google.com投擲MSXML2.DomDocument,將this document from MSDN作爲#1結果,這應該引導您朝着正確的方向前進。

1

一個快速運行下來這是什麼一樣:

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

此行實例微軟的落實W3C的DOM標準的特定版本。你不應該有指定的版本 - 你應該只需要做:

Set xmlDoc = CreateObject("MSXML2.DomDocument") 

甚至更​​好,添加一個參照最新的「微軟XML NN」庫並做:

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

的之所以有這麼多版本,是因爲同一個庫有幾個稍微不兼容的版本。並且不同的已安裝應用程序可能各自使用不同的版本

至於:

xmlDoc.setProperty "NewParser", True 

這是微軟的非標準擴展到DOM的一個例子。爲了支持各種微軟特有的行爲,他們增加了「輔助屬性」的概念,這在「官方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任一。