Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 7, 2012 10:59:35

Semion
Зарегистрирован: 2012-11-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

конвертирование utf8 строк из XML

Приветствую.
Столкнулся вот с такой проблемой: Имеется хмл файл, открываю его на чтение, извлекаю по тегу значение, оно имеет вид: “Баба-Яга”
и вот тут я спотыкаюсь, не могу конвертировать его в utf8 строку.
Тоже самое:

text = u'Баба-Яга'.encode("ascii", "xmlcharrefreplace")
print text.decode('ascii','xmlcharrefreplace')
Декодирование не проходит. Подскажите мне дремучему как разрешить проблему.

Офлайн

#2 Ноя. 7, 2012 11:08:34

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

конвертирование utf8 строк из XML

Чем ты извлекаешь? Вроде как xml парсер сам должен сущности в юникод переводить.

Офлайн

#3 Ноя. 7, 2012 11:46:10

Semion
Зарегистрирован: 2012-11-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

конвертирование utf8 строк из XML

в то и дело что просто открываю файл на редактирование как текстовый без парсера, вот и интересно могу ли конвертнуть не пропуская через парсер

Офлайн

#4 Ноя. 7, 2012 12:23:28

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

конвертирование utf8 строк из XML

Semion
вот и интересно могу ли конвертнуть не пропуская через парсер
А фраза “for encoding only” вам ничего не говорит? А фраза “не влезай, убьет”? ;)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Ноя. 7, 2012 14:11:22

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

конвертирование utf8 строк из XML

Можно.

Но если пользуешься парсером - это его работа.

>>> 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
извлекаю по тегу значение
Я подумал, что ты это парсером делаешь, а ты регекспами?

Офлайн

#6 Ноя. 7, 2012 14:24:06

Semion
Зарегистрирован: 2012-11-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

конвертирование utf8 строк из XML

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

ладно, буду осваивать парсер

Офлайн

#7 Ноя. 7, 2012 14:27:08

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

конвертирование utf8 строк из XML

Из встроенных - xml.dom, xml.etree.cElementTree.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version