неузнаваемый код в классическом ASP;нужно преобразование .NET - PullRequest
0 голосов
/ 10 сентября 2010
oXML = Server.CreateObject("Msxml2.DOMDocument.4.0")

oNode = oXML.createElement("CommonCustomerSearch")

Может кто-нибудь объяснить, что делают строки кода выше?меня больше интересует первая строка, так как метод, в котором он написан, завершается, когда он попадает в эту строку, поэтому, очевидно, переменная oXML не устанавливается.я знаю, что oXML должен быть установлен на какой-то объект COM, но не могли бы вы объяснить немного подробнее раздел "Msxml2.DOMDocument.4.0"?что это, где это, и как это будет выглядеть в .NET (этот код - классический asp)?я не знаю, что такое вторая строка кода выше, но метод даже не доходит до нее, так что если у вас есть какие-либо идеи о том, что это делает, было бы тоже здорово.спасибо

Ответы [ 3 ]

2 голосов
/ 10 сентября 2010

Это код, использующий старый COM-объект MSXML.Пространство имен XML в .NET будет делать почти то же самое, используя похожий синтаксис.И обойти COM (хорошая вещь).Преобразуйте эти операторы в XML-код .Net.

Msxml2.DOMDocument.4.0 - это имя COM-объекта.

Если createobject существует метод, то, вероятно, что-то не так.

В .net можно сказать, например, Dim MyXMLDocument as New XML.XMLDocument и т. Д.

1 голос
/ 10 сентября 2010

Msxml2.DOMDocument.4.0 является COM-объектом, и строка должна создать экземпляр класса. Я не знаю, является ли это весь код, но вы должны использовать ключевое слово Set при инициализации экземпляра объекта. Так должно быть на самом деле

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

Класс Msxml является абстракцией документа xml.

1 голос
/ 10 сентября 2010

Этот классический ASP-код использует библиотеку XML DOM .Первая строка (если она правильно закодирована с ключевым словом set) создает документ XML в памяти.Во второй строке создается узел XML с именем CommonCustomerSearch.

.NET Framework 3.5 +

Если вы хотите перейти на .NET 3.5 или более позднюю версию, вы можете сделать то же самое с System.Linq.Xml

var xmlDoc = new XDocument(new XElement("CommonCustomerSearch"));

Для получения дополнительной информации вы можете прочитать Руководство по началу работы *1015* для LINQ to XML.

.NET Framework 2.0

Похоже, вы ограничены .NET 2.0, поэтому вы можете использовать System.Xml , чтобы сделать это менее сексуально.

XmlDocument doc = new XmlDocument();
doc.LoadXml("<CommonCustomerSearch/>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...