1
ANSI
エンコードされたXMLファイルをMSXML2.DOMDocumentを使用してロードする必要がありますが、そのファイルには<?xml version="1.0" encoding="Windows-1250"?>
行が含まれていません。 XMLデータには一部の国別文字が含まれているため、XMLパーサーはAn invalid character was found in the text content
で失敗します。MSXML2に非UTF-8エンコードされたXMLを読み込ませる方法
このような処理手順を追加しようとしましたが、何もしません。
Dim xDoc As MSXML2.DOMDocument
Set xDoc = New MSXML2.DOMDocument
Dim PI
Set PI = xDoc.createProcessingInstruction("xml", "version='1.0' encoding='windows-1250'")
xDoc.insertBefore PI, xDoc.childNodes.Item(0)
If xDoc.Load("C:\Test.xml") Then
Debug.Print "Success"
Else
Debug.Print xDoc.parseError.reason
End If
Set xDoc = Nothing
.loadメソッドを呼び出す前に、MSXML2にユーザー定義のエンコードを使用させる方法はありますか?
を*あなたのファイルは、すべての*何も処理命令を持っていないと言って、またはされていますか? –
XMLファイルには処理命令がまったくありません。それは ''で始まり、 ' 'で終わり、これらのタグの間で有効です。 –
Combinatix
''をあなたの必要な処理命令に置き換えて、 'xDoc.LoadXML'を使って修正されたバージョンからメモリにロードすることができます。 'Load'を使います)。 –