1
MSXML2.DOMDocument를 사용하여 ANSI
인코딩 된 XML 파일을로드해야하지만 그 파일에는 <?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' 사용). –