Работа с Notesdomparser Class

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

  1. Azrael

    Azrael Гость

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

    sanch Well-Known Member

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

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

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

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

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

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

    nvyush Lotus team
    Lotus team

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

    Kee_Keekkenen Well-Known Member

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

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

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

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

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

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

    разобрался, чего и всем желаю.
    всем спасибо
     
Загрузка...
Похожие Темы - Работа Notesdomparser Class
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    17
  2. Hoasker
    Ответов:
    0
    Просмотров:
    63
  3. garri671
    Ответов:
    0
    Просмотров:
    50
  4. lelik200969
    Ответов:
    0
    Просмотров:
    49
  5. Kozolick
    Ответов:
    0
    Просмотров:
    134

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