1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Работа с Notesdomparser Class

Тема в разделе "Lotus - Программирование", создана пользователем Azrael, 8 фев 2007.

  1. Azrael

    Azrael Гость

    Репутация:
    0
    Кто-нибудь встречался со следующей проблемой: NotesDOMParser работает только, если в XML-файле есть только английские символы и вообще нормально работает только, если в заголовке будет <?xml version="1.0"?>, а если уже <?xml version="1.0" encoding="windows-1251"?>, то вываливается ошибка на методе Process или Parse. Такая же ошибка вылазит и в случае, если будут английские буквы, т.е.
    Код:
    <?xml version="1.0"?>
    <ovkdom>
    <firm>
    <orgname>roga i kopita</orgname>
    ...
    а
    Код:
    <?xml version="1.0"?>
    <ovkdom>
    <firm>
    <orgname>Рога и копыта</orgname>
    ...
    уже не работает
     
  2. sanch

    sanch Well-Known Member

    Репутация:
    0
    Регистрация:
    17 июл 2006
    Сообщения:
    215
    Симпатии:
    0
    Советую SaxParser и encoding=UTF-8
     
  3. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    Вазродю тему с такой же ситуацией , как и у автора

    Если значения набиты кирилицей то не работает САХПарсер.
    Если оставить кирилические значения и кодировку 1251,, то ругаеться такой воть ошибкой
    Работа с Notesdomparser Class

    Если сменить кодировку на утф-8 - не распознаё кирилические символы

    клиент 7.0.2
    XML чужой, приходит по почте
     
  4. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    У меня DOM-парсер клинил при наличии в xml между тэгами символов табуляции, переводов строк, т.е. это "кушал":
    Код:
    <?xml version='1.0' encoding='windows-1251'?><document><table><tr><td>данные</td></tr></table></document>
    а это — нет:
    Код:
    <?xml version='1.0' encoding='windows-1251'?>
    <document>
    <table>
    <tr>
    <td>
    данные
    </td>
    </tr>
    </table>
    </document>
     
  5. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Репутация:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    639
    Симпатии:
    6
    открывать пришедший xml, наверное нужно в той кодировке, в которой он создан, т.е. явно указывать кодировку при открытии файла в поток иначе он откроет в утф8, а после, возможно, нужно будет конвертнуть в unicode то, что в потоке, если парсер не заработает без конвертации..

    или что-то подобное.. нужно поиграться кодировками..
     
  6. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1

    угу, так и зделал
    Call inputStream.Open (origXML, "ASCII") - и о чудо, читает ... вот толька в кирилице кракозяблы

    сума сойти, стоило поставить
    Call inputStream.Open (origXML, "Windows-1251") - и всё заработало и читает нормально.

    разобрался, чего и всем желаю.
    всем спасибо
     
Загрузка...
Похожие Темы - Работа Notesdomparser Class
  1. fan92rus
    Ответов:
    5
    Просмотров:
    92
  2. erlan1749
    Ответов:
    10
    Просмотров:
    125
  3. ghostik
    Ответов:
    10
    Просмотров:
    379
  4. nerfy
    Ответов:
    15
    Просмотров:
    162
  5. Васян
    Ответов:
    6
    Просмотров:
    164

Поделиться этой страницей