2013-05-07 128 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任一。