Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.99/193: Рейтинг темы: голосов - 193, средняя оценка - 4.99
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506

Чем прочитать XML

25.05.2011, 10:19. Показов 36110. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Есть строка s as String.
Ее значение равно текст в формате XML, с помощью чего можно взять значения определенных тегов?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.05.2011, 10:19
Ответы с готовыми решениями:

Прочитать XML с сайта
продолжаю изучение программирования под Android, возник вопрос: допустим, у нас есть XML: http://informer.gismeteo.ru/xml/27612.xml ...

Не получается прочитать xml
Подскажите, что делаю не так при чтении xml? Запрос выдает "0", хотя <image-v2> не пустой $s =...

Как прочитать XML?
Собственно нужно прочитать и присвоить данные переменным соответствующим названию атрибута в xml.. <TestedDocument> <People...

30
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
07.11.2012, 20:12
Студворк — интернет-сервис помощи студентам
Значится так... Траблы возникли, с агентом. Запускаешь один раз, делает ~3000 доков (из 30000) и все.
Сообщения об ошибке нет, не пишет. jvm мертв? Дизайнер работает, но этот агент повторно нет!
Другой java-агент запускается, все ок, значит jvm жива. Ладно поехали дальше.
Запускаю снова: никаких эмоций, ни старта, ни стопа, ни ошибки. Перезапуск клиента.
Запуск агента: ~3000 и все... Все по новой...
recycle делаю, значит что-то еще.
Запустил в тонком клиенте, выдало сообщение:


Exception in thread "AgentThread: JavaAgent" java.lang.OutOfMemoryError
at com.ximpleware.VTDNav.toNormalizedString (VTDNav.java:4469)
из исходников:

Код (C++):
StringBuffer sb = new StringBuffer(len);
вбил в java console "m", выдает: # Память: 16777216 свободно: 14295816 (85%)
16 метров видимо... Расширить никак нельзя?
кстати, в консоль нельзя ничего вбить после падения агента.
вот такая вот пакость... я в java не силен, но Eclipse справляется гораздо лучше...
Есть возможность как-то вместо lotus-jvm подключить sunовскую?
Я в печали... Уже думаю парсить через LS агент, а отправлять на sftp через java...
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
07.11.2012, 20:59
А SAX Parser (только не лотусовский, а родной джавовский) не пробовал?
Вообще SAX когда-то считался самым экономным по памяти, сейчас не знаю.
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
08.11.2012, 09:25
Не пробовал пока. Сейчас попробовал просто получать значения из XML, без создания доков. ~2700 документов... Итого меньше...
Короче бред...
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
08.11.2012, 15:29
там, по ссылке - есть LAX (SAX для ленивых )
суть - в написании методов кастомного класса для перехвата опред событий (т.е. не нужен switch case)
а так - да, VTD хоть и меньше памяти жрет, но жрет...
и gc у нотусёвой ИБМ не сразу освобождает ресурсы (в том числе нотусёвые)
recycle чего делается?

Добавлено: по памяти жвм
http://www.kalechi.com/doc/notesini.nsf/85...33;OpenDocument
и для настроек памяти и отладки (всякие месюги)
http://www.ibm.com/developerworks/lotus/li...Java_variables/
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
08.11.2012, 16:17
recycle чего делается?
domino объектов, всех. В конце агента: вьюхи, базы, агента, сессии.
На том месте где ошибка: только документа, по вьюхе ищу дубликаты и обновляю, если нашел.
Назрел вопрос: вьюха и база, глобальные объекты. Влияет?
Кстати, XOM нормально собрал мне xml из 30000 доков, конечный размер ~8 метров.
Если бы он мог прочитать файл изначально, было конечно круто...

UPD: lmike, не помогло.
UPD2: Свою проблему я решил, но достаточно жестко и надо тестировать на серверах, потому что клиент все же не сервер...
Сделал LS агента, который запускает 2 Java-агента.
Первый Java закачивает файл c SFTP, LS затем его парсит и создает документы.
Второй Java формирует xml и отправляет на SFTP.
Хотелось бы услышать критику и какие косяки я словлю... Думаю OutOfMemory все же возможен, но другого решения пока не вижу.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
08.11.2012, 17:33
зачем LS дергает java агенты - непонятно...
а код будет?

Добавлено: и вдогонку java из бриджа (LS2J) и из агентов - это разные класслоадеры и принципы работы
непонятным остаётся - "кому" не хватает памяти, ведь для VTD все ограничивается одним доком (и тогда *цензура* - сколько доков всего)
ведь выход от фильтрации можно сбрасывать в файл (а не править текущий стрим)
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
08.11.2012, 17:52
Цитата Сообщение от lmike
зачем LS дергает java агенты - непонятно...
У меня такое часто, когда надо вернуть сообщение пользователю о результате. Здесь - не знаю.. может LS по памяти всё-таки лучше?
0
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
08.11.2012, 22:37
на текущем проекте с сапом приходится разбирать хмл файлы, они небольшие до 1Мб, но их много на начальной загрузке - около 900Мб.. парсинг устроен на регулярных выражениях.. сап разбит на кучу сущностей и в хмл масса лишнего.. в общем, есть сущность, условно говоря это связь между парой каких-то сущностей, при загрузе их около 300 000, которые успешно сохраняются в виде документов.. главная проблема, с которой приходится сталкиваться это лотусовая (классы) часть джавы..

например, есть такая фишка в нашей системе - это когда делается несколько $REF полей от одного документа к нескольким другим, чтобы в видах можно было красиво строить связи от разных родителей.. и проблема возникает при копировании только что созданного поля из одного документа в другой - выдается ошибка, что объект был удален и ресайклед .. в общем проблема в дииопе, рестартуешь его и вперед по новой..

правда есть еще трабы (пока никак нерешенные), когда код просто вылетает безо всяких ошибок и тут, только курить бамбук.. но это уже к парсингу не относится, а именно при работе с документами.. я пока грешу на методы типа getItemValueString(), getItemValueInteger() и иже сними..
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
10.11.2012, 12:28
зачем LS дергает java агенты - непонятно...
Потому что задача должна выполняться, скажем так, последовательно. LS2J я не использую, просто запуск агента.
Через LS я разбираю XML, которые мне получает java агент, по нему через LS создаю доки.
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
10.11.2012, 15:39
Цитата Сообщение от savl
Через LS я разбираю XML, которые мне получает java агент, по нему через LS создаю доки.
Т.е. LS, выходит, стабильнее, чем Java? Менее требователен к памяти?
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
11.11.2012, 09:46
VladSh
Что вполне логично, LS не сторонняя разработка прикрученная к лотусу, а часть ядра системы в целом(возможно не правильно выразился, я еще сплю). Java же прикручена и обрабатывается jvm, да еще и с ограничениями версии билдов.
На машине стоит JRE 7(1.7), а лотус юзает JRE 6(1.6).
И все же java быстрее LS в части задач и возможностей все же больше.
Можно конечно использовать LS2J, но стабильно это работает только при вызове из агентов, если код повесить в hot-spot на форме или в кнопку на вьюхе, то падение будет точно. Что-то с лоадером или контекстом вызова. Видел обсуждение на этом же форуме, но найти не смог.


Ссылка на ответ lmike: .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2012, 09:46

Как прочитать xml?
Добрый день, помогите пжл прочитать следующий xml <day_part typeid="3" type="вечер"> <temperature_from class_name="t18"...

Правильно прочитать файл xml
Здравствуйте, помогите правильно вывести данные xml файла в memo, расположенной на форме. Данный файл открывается правильно в word(с...

Прочитать и вернуть значение из xml
Добрый день! как начинающий в Java столкнулась с проблемой. Есть xml файл вида: <?xml version="1.0"...

Прочитать данные из xml файла
Дано: xml документ такого содержания: <?xml version="1.0" encoding="utf-8"?> <ServerList> <Server> ...

Прочитать заданные узлы XML
Есть XML документ(например) <books> <book> <page>1000</page> <author>I_am</author> <code>1</code> </book> <book> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru