powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Поблема с текстовой информауией при парсинге
15 сообщений из 15, страница 1 из 1
Поблема с текстовой информауией при парсинге
    #35689915
VNU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VNU
Гость
Проблема собственно в чем: загружаю xml файл(кодировка windows-1251) в бинарный поток, паршу его TextReadrer'ом, но текстовая информация отображаеться в виде строки типа "#100#101#125#...". Подскажите,пожайлуста, что сделать что бы получить текст?
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35689925
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А xml файл можете прикрепить?
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35689965
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно так
F Q:$L(str,"#")<2 S str=$p(str,"#",1)_$c($p(str,"#",2)_$p(str,"#",3,$l(str,"#"))
где str - ваша строка
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35689970
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после F и Q:.. по 2 пробела
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690053
VNU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VNU
Гость
Игорь Сойниковпримерно так
F Q:$L(str,"#")<2 S str=$p(str,"#",1)_$c($p(str,"#",2)_$p(str,"#",3,$l(str,"#"))
где str - ваша строка
Не прокатывает в строке остаеться то же самое :(
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690129
VNU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VNU
Гость
$p(str,"#",1) возвращает всю строку а не часть ее до "#"
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690199
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F Q:$l(str,"#")<2 S str=$p(str,"#",1)_$c($p(str,"#",2))_$p(str,"#",3,$l(str,"#"))
только что проверил все работает
можете выложить XML?
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690598
VNU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VNU
Гость
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690800
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файлик вроде не страшный... Чет не пойму почему он у тебя в виде циферок читаеццо?
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690833
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я точно не помню, может там метод Read (опять же не помню из какого класса)) ) надо использовать по отношению к потоку, тада из него читаецца в нормальном виде?
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690879
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестовый пример от автора явно бы не помешал...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690888
VNU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VNU
Гость
все в том же виде и читаеться :(
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35690964
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VNU,
нада выложит код))
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35691000
VNU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VNU
Гость
;-----------------------------------------------------------------------
;-Загрузка данных из файла в Поток--------------------------------------
;-----------------------------------------------------------------------
n gs s gs=##class(%GlobalBinaryStream).%New() ; Создаем объект типа потока
i '$$open^%pbwin85(bOS,PthFile,"R") s Err="123" q ; Открываем файл для чтения
; Считываем из фала данные и помещаем их в поток
f d q:('Err)!(Str="")
. s Err=$$read^%pbwin85(bOS,PthFile,.Str,1024)
. q:Str=""
. d gs.Write(Str)
d close^%pbwin85(bOS,PthFile) ; Закрываем файл
k Err,Str,bOS,PthFile
;-----------------------------------------------------------------------
;-Парсинг потока--------------------------------------------------------
;-----------------------------------------------------------------------
Set sc = ##class(%XML.TextReader).ParseStream(gs,.reader) ; Создаем объект типа парсер и парсим
If ($$$ISOK(sc))
{
n Nm,Nm0,Vl,n,st,st0
s n=0,b=0 ;,st("0")=""
While (reader.Read())
{
If (reader.Name'=""){
s Nm=reader.Name
If ($$SpisVlogeniy(Nm)=1) {
if (b=1) {s st(n,Nm0)=$G(st0),b=0} else { s st0="",Nm0=reader.Name,b=1}
}
}
s Vl=reader.Value
If (Vl'="")&(Nm'=""){
If (Nm="UIN") {s n=n+1}
If (b=0) {s st(n,Nm)="asd",st(n,Nm)=Vl} else {s st0=$G(st0)_Vl_"\"}
} ;If (Vl'="")&(Nm'="")
} ;While (reader.Read())
} ;If ($$$ISOK(sc))
k gs,reader,Vl,Nm,n,Nm0,Vl0
...
Рейтинг: 0 / 0
Поблема с текстовой информауией при парсинге
    #35691303
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
	;-----------------------------------------------------------------------
	;-Загрузка данных из файла в Поток--------------------------------------
	;-----------------------------------------------------------------------
	n gs s gs=##class(%GlobalBinaryStream).%New()		; Создаем объект типа потока
	i '$$open^%pbwin85(bOS,PthFile,"R") s Err="123" q	; Открываем файл для чтения
	; Считываем из фала данные и помещаем их в поток
	f  d  q:('Err)!(Str="")
	. s Err=$$read^%pbwin85(bOS,PthFile,.Str, 1024 )
	. q:Str=""
	. d gs.Write(Str)
	d close^%pbwin85(bOS,PthFile)						; Закрываем файл
	k Err,Str,bOS,PthFile
	s handler=##class(%XML.SAX.ContentHandler).%New() ; тут наверное хэндлер должон быть
	s tmp='##class(%XML.SAX.Parser).ParseStream(gs,handler) d  q
	. Do $System.Status.DecomposeStatus(sc,.Err) S Err=$g(Err( 1 ))


так что получится?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Поблема с текстовой информауией при парсинге
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]