25.08.2005, 11:00 | #21 |
Участник
|
сначала прочитать, потом изменить, потом сохранить
PHP код:
|
|
25.08.2005, 11:05 | #22 |
Участник
|
Спасибо огромное. Такого способа я вчера не нашел. Но на будующее, буду иметь в виду.
|
|
30.08.2005, 09:45 | #23 |
Участник
|
Вы опять правите ? - тогда мы идем к вам (из рекламного творчества нашего TV)
Цитата:
Изначально опубликовано Андре
Ну, ваше дело. Хотя про это, кажется, написано в Best Practices и даже есть вопрос такой на экзаменах. Ну, и вообще, отнаследоваться было бы безопаснее Во-первых, может существовать стандартный функционал, написанный с расчетом на получение encoding=1251. Во-вторых, если вам понадобится xml в еще одной (третьей) кодировке - вы опять этот класс править полезете ? PHP код:
PHP код:
|
|
30.08.2005, 13:23 | #24 |
Участник
|
Re: Вы опять правите ? - тогда мы идем к вам (из рекламного творчества нашего TV)
Цитата:
Изначально опубликовано petergunn
Месяц назад занимался подобным вопросом, исправление косметическое внес лишь одно : PHP код:
PHP код:
|
|
31.08.2005, 00:03 | #25 |
Участник
|
2 st_msav
При всем уважении... чего воду в ступе толочь? Вроде ответ найден - ВСЕ проблемы решаются наследованием класса и переопределением одного метода. Если кто-то думает иначе, через некоторое время оберется геморроя. Но это его право наступать на "грабли".
Буржуи они, наплевать им на локальные кодировки, поэтому, то что должно работать может и не работать. Axapta не первый проект, где такое случается. Возьмите любой опенсорсный парсер xml хотя бы.. |
|
25.01.2007, 11:08 | #26 |
Участник
|
Немного не по теме, но может кому пригодится. Была проблема: проверить весь XML и заменить знак 'euro' на строку "EUR" перед сохранением. Но при получении строки xmlDoc.xml() теряется информация об энкодинге! Решил это дело так:
Цитата:
...
XMLProcessingInstruction xmlPi; str tempXmlString; ; ... xmlPi = xmlDoc.createProcessingInstruction('xml','version="1.0" encoding="ISO-8859-1" '); ..... тут формируется XML ..... tempXmlString = xmlDoc.xml(); tempXmlString = strreplace(tempXmlString,'?','EUR'); xmlDoc.loadXML(tempXmlString); xmlDoc.removeChild(xmlDoc.childNodes().nextNode()); xmlDoc.insertBefore(XMLpi,xmlDoc.childNodes().nextNode().com()); |
|