掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ISAXXMLReader::Parse (ID:102515)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> QueryInterfaceを呼び出して、IStreamを取り出さなくてもいいのですね。 IStream を実装したオブジェクトであれば OK です。 ADO の Stream でも ASP の Response でも MSXML2 の DOMDocument でも。 もちろん、SHCreateStreamOnFileW や CreateStreamOnHGlobal も可です。 それ以外では文字列(or Empty)も指定できますね。 文字列を使った場合には encoding 指定が出力されませんけれども…。 Dim wrt As Object Set wrt = CreateObject("MSXML2.MXXMLWriter.6.0") wrt.Version = "1.0" wrt.Encoding = "UTF-8" wrt.indent = True wrt.standalone = True wrt.omitXMLDeclaration = False wrt.output = Empty wrt.flush Dim rdr As Object Set rdr = CreateObject("MSXML2.SAXXMLReader.6.0") Set rdr.ContentHandler = wrt rdr.Parse doc Debug.Print wrt.output なお、ContentHandler を指定する場合には、ISAXXMLReader.putContentHandler メソッドを 使うよりも、SAXXMLReader.ContentHandler プロパティの方が便利かもしれません。 (参照設定無しですむので、VBA のみならず VBScript からでも利用できますし) > これは何故かと言うと今回、Parseメソッドが > それぞれ参照してるライブラリのバージョンによってちょっとずつ、 > 違うエラーメッセージを返して来ることから分かりました。 これらは通常、サイドバイサイドモードにてインストールされる仕様です。 http://support.microsoft.com/kb/303207/ja バージョンによってサポートしている "動的プロパティ" が異なったりもしますから、 これらをレイトバインドで使う場合には、バージョン指定の ProgID を 利用した方が安全ですね。もしくは参照設定。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.