Здравствуйте, гость ( Вход | Регистрация )
|
woldemarr |
13.8.2010, 13:40
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 21.7.2010 Пользователь №: 1896 Спасибо сказали: 0 раз(а) Репутация: 0
|
Доброго времени суток.
Для начала опишу то, как и на чем работаю: Windows 7 Ultimate Visual Studio 2008 Developer Edition Qt 4.6.3 для мы2008 Все xml описаны так <?xml version="1.0" encoding="windows-1251"?> и сделаны в notepad и сохранены в кодировке ANSI (по-умолчанию). В файле проекта main.cpp описал внутреннюю кодировку: QTextCodec *codec = QTextCodec::codecForName("CP1251"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForCStrings(codec); Проблема начинается тогда, когда я хочу использовать XQuery или XPath для получения из xml нужного мне узла. Как я понял QDomDocument этого делать не позволяет, для этого нужно использовать QXmlQuery. При его использовании я делаю так: QString XQuery = "/root/nodelevel1/node11[@name = 'something']"; QXmlQuery query; query.setFocus(stringXml); //xml в виде QString query.setQuery(XQuery); QString sResult; bool bRes = query.evaluateTo(&sResult); В итоге я строке sResult я получаю нужный мне результат, но русский текст там напрочь убит кракозяблами. Сталкнулся вот с такой проблемой, подскажите как ее решить, уже голову всю сломал. |
|
|
|
woldemarr QDomDocument + QXmlQuery - проблемы кодировки или может чего еще 13.8.2010, 13:40
woldemarr Все разобрался.
Установил в xml encoding в UTF-8,... 15.8.2010, 15:24![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.2.2026, 3:06 |