经典ASP中无法识别的代码;需要.NET转换

时间:2010-09-09 21:50:09

标签: asp.net vb.net asp-classic

oXML = Server.CreateObject("Msxml2.DOMDocument.4.0")

oNode = oXML.createElement("CommonCustomerSearch")

有人可以解释上面的代码行是做什么的吗?我对第一行更感兴趣的是当它出现在该行时它在退出时编写的方法,所以显然变量oXML没有被设置。我知道oXML应该设置为某种COM对象,但是你可以解释一下“Msxml2.DOMDocument.4.0”部分吗?那是什么,它在哪里,它在.NET中会是什么样子(这段代码是经典的asp)?我不知道上面的第二行代码是什么,但方法永远不会达到它所以如果你有任何关于它做什么的想法也会很棒。感谢

3 个答案:

答案 0 :(得分:2)

这是使用旧的MSXML COM对象的代码。使用类似的语法,.NET中的XML命名空间几乎完全相同。绕过COM(一件好事)。转换这些语句以使用.Net的XML。

Msxml2.DOMDocument.4.0是COM对象名称。

如果createobject存在方法,那么可能是错误的。

在.net中,您可以说,Dim MyXMLDocument as New XML.XMLDocument等等。

答案 1 :(得分:1)

那个经典的ASP代码正在使用XML DOM库。第一行(如果使用set关键字正确编码)在内存中创建XML文档。第二行创建一个名为CommonCustomerSearch的XML节点。

.NET Framework 3.5 +

如果要迁移到.NET 3.5或更高版本,可以使用System.Linq.Xml

执行相同的操作
var xmlDoc = new XDocument(new XElement("CommonCustomerSearch"));

您可以阅读LINQ to XML的Getting Started Guide以获取更多信息。

.NET Framework 2.0

听起来你只限于.NET 2.0,所以你可以用System.Xml以不太性感的方式来实现这一点。

XmlDocument doc = new XmlDocument();
doc.LoadXml("<CommonCustomerSearch/>");

答案 2 :(得分:1)

Msxml2.DOMDocument.4.0是一个COM对象,该行应该创建该类的实例。我不知道这是否是所有代码,但是在初始化对象的实例时需要使用Set关键字。所以它实际上应该是

Set oXML = Server.CreateObject("Msxml2.DOMDocument.4.0")
Set oNode = oXML.createElement("CommonCustomerSearch")

Msxml类是xml文档的抽象。