IXMLDOMDocument2がどのバージョンの MSXML であるかを確認するにはどうすればよいですか? IXMLDOMDocument2を指定すると、同じバージョンの別のドキュメントを作成する必要があります。
異なるバージョンの MSXML から IXMLDOMDocument を指定すると、msxml から例外が発生します。
異なるバージョンの MSXML のオブジェクトを混在させるとエラーになります。
Microsoft は内部的に、それがどのバージョンの MSXML から来たのかをインターフェースに尋ねることができます。私は同じものにアクセスする必要があります。
疑似コードで記述された次の仮想関数を考えてみましょう。
String XMLTransform(IXMLDOMNode xml, String xsl)
{
//Create a document to hold the xml
IXMLDOMDocument2 xslDocument = new CoDOMDocument();
//load the xsl string into the xsl dom document
xslDocument.loadXML(xsl);
//transform the xml
return xml.transformNode(xslDocument);
}
問題は、 IXMLDOMNode が MSXML6 から来ている場合です。作成されたのDOMDocument
はバージョン 3 からです (MSXML における Microsoft のバージョン依存のため)。これにより、
xml.transformNode()
COM 例外をスローするには:
It is an error to mix objects from different versions of MSXML.
Microsoft はインターフェイスにそれがどのバージョンの MSXML から来たかを尋ねることができるので、私は同じことを行うことができるはずですが、どうすればよいでしょうか?
または、指定された場合、同じバージョンのオブジェクトをIXMLDOMNode
作成するにはどうすればよいですか...XMLDOMDocument