【问题标题】:Clarification on SetProperty in VB6VB6中SetProperty的说明
【发布时间】:2013-05-01 07:13:23
【问题描述】:

我正在将一个 VB6 项目移植到 C#。我有以下我不完全理解的 VB6 代码:

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

我以前从未做过 VB 编码。有人可以解释上面几行的作用以及Java或C#等语言中的等效代码是什么。谢谢!

【问题讨论】:

  • 找不到足够的资源
  • 我在 VB4-5-6 工作了五年...超过十年前:/ 我建议你不要在 2013 年开始 VB6 编程!!!!不值得花时间!去 VB.NET、C# 或 Java...VB6 很久以前就死了:(
  • 但是如果你还想用VB6,一定要在你的电脑上安装Visual Basic Codebook!!它有大量带有完整工作代码的示例。
  • @AndreaLigios - 在我看来 Kaushik 正在尝试读取 VB6 代码 - 不要写它!
  • @MarkBertenshaw 我相信(并希望)你是对的,我的错:>

标签: c# java vb6


【解决方案1】:

快速了解它的作用:

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

这一行实例化了微软实施的 W3C DOM 标准的特定版本。您不必指定版本 - 您只需要做:

Set xmlDoc = CreateObject("MSXML2.DomDocument")

或者更好的是,添加对最新“Microsoft XML n.n”库的引用并执行以下操作:

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

之所以有这么多版本,是因为同一个库有几个稍微不兼容的版本。并且不同的已安装应用程序可能各自使用不同的版本。

至于:

xmlDoc.setProperty "NewParser", True

这是 Microsoft 对 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 中。

【讨论】:

    【解决方案2】:

    在不太了解 VB6 的情况下,这听起来很像 XML 解析。按照建议在 google.com 上投掷 MSXML2.DomDocument,将 this document from MSDN 作为排名第一的结果,这应该会引导您朝着正确的方向前进。

    【讨论】:

      猜你喜欢
      • 2015-08-16
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      相关资源
      最近更新 更多