É possível usar libxml com xmlChar unicode?
Pergunta
É possível usar libxml com unicode?
Por exemplo, a função xmlParseDoc leva uma xmlChar
xmlChar tem a seguinte definição:
typedef unsigned char xmlChar;
Eu gostaria que libxml para interpretar tudo como 2 caracteres de bytes.
Eu tenho um sentimento de que o seguinte não iria funcionar corretamente com o lib:
typedef unsigned short xmlChar;
Nota: Eu não estou falando de quando ele realmente lê / escreve a codificação xml. Sei que suporta Unicode. O que eu quero é que a interface para o lib para estar com strings unicode wstring em vez de strings normais.
Solução
Eu encontrei a resposta em um ligação fornecido pelo @ Mitch Trigo
Você não pode redefinir xmlChar ser um short sem sinal. No entanto, se você codificar suas cordas como UTF-8, em seguida, xmlChar vai lidar correctamente com unicode.
Você pode converter uma string em janelas para UTF8 via chamando WideCharToMultiByte com um parâmetro de CP_UTF8