Найти - Пользователи
Полная версия: конвертирование utf8 строк из XML
Начало » Python для новичков » конвертирование utf8 строк из XML
1
Semion
Приветствую.
Столкнулся вот с такой проблемой: Имеется хмл файл, открываю его на чтение, извлекаю по тегу значение, оно имеет вид: “Баба-Яга”
и вот тут я спотыкаюсь, не могу конвертировать его в utf8 строку.
Тоже самое:
text = u'Баба-Яга'.encode("ascii", "xmlcharrefreplace")
print text.decode('ascii','xmlcharrefreplace')
Декодирование не проходит. Подскажите мне дремучему как разрешить проблему.
odnochlen
Чем ты извлекаешь? Вроде как xml парсер сам должен сущности в юникод переводить.
Semion
в то и дело что просто открываю файл на редактирование как текстовый без парсера, вот и интересно могу ли конвертнуть не пропуская через парсер
PooH
Semion
вот и интересно могу ли конвертнуть не пропуская через парсер
А фраза “for encoding only” вам ничего не говорит? А фраза “не влезай, убьет”? ;)
odnochlen
Можно.

Но если пользуешься парсером - это его работа.
>>> lxml.html.fragment_fromstring('<p>&#1071;</p>')
<Element p at 0x126d5a0>
>>> root=lxml.html.fragment_fromstring('<p>&#1071;</p>')
>>> root.text
u'\u042f'
>>> print root.text
Я

Semion
извлекаю по тегу значение
Я подумал, что ты это парсером делаешь, а ты регекспами?
Semion
odnochlen
Я подумал, что ты это парсером делаешь, а ты регекспами?
Да, регексами.

ладно, буду осваивать парсер
odnochlen
Из встроенных - xml.dom, xml.etree.cElementTree.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB