-2

VB6 プロジェクトを C# に移植しています。私は完全に理解していない次のVB6コードを持っています:

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

私は以前にVBコーディングをしたことがありません。上記の行が何をするのか、Java や C# などの言語で同等のコードを説明できる人はいますか。ありがとう!

4

2 に答える 2

1

これが何をするかについての簡単な要約:

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

この行は、W3C の DOM 標準の Microsoft の実装の特定のバージョンをインスタンス化します。バージョンを指定する必要はありません。次のようにする必要があります。

Set xmlDoc = CreateObject("MSXML2.DomDocument")

または、最新の "Microsoft XML nn" ライブラリへの参照を追加して、次のようにします。

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

これほど多くのバージョンが存在する理由は、同じライブラリーにわずかに互換性のないバージョンがいくつかあるためです。また、インストールされているさまざまなアプリケーションが、それぞれ異なるバージョンを使用している可能性があります。

はどうかと言うと:

xmlDoc.setProperty "NewParser", True

これは、DOM に対する Microsoft の非標準拡張の例です。さまざまな Microsoft 固有の動作をサポートするために、公式の W3C DOM 標準に基づいていない「セカンダリ プロパティ」の概念が追加されました。この特定のケースでは、「NewParser」プロパティを True に設定しています ( http://msdn.microsoft.com/en-gb/library/windows/desktop/ms767616%28v=vs.85%29.aspxを参照)。これは、MSXML6.DLL 以外のバージョンでは意味がありません。

直接の Java バージョンはありませんが、この例では、文字列に基づいて DOM オブジェクトを作成できます。

XML から org.w3c.dom.Document を文字列で読み込むにはどうすればよいですか?

この例では、setProperty() 呼び出しは存在しません。

.NET に相当するもの (C# の場合) は次のとおりです。

using System.xml

function doIt()
{
    XmlDocument doc = new XmlDocument();
}

XmlDocument にも SetProperty() は存在しません。

于 2013-05-07T14:10:13.807 に答える