|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
Чем прочитать XML25.05.2011, 10:19. Показов 35954. Ответов 30
Метки нет (Все метки)
Всем привет!
Есть строка s as String. Ее значение равно текст в формате XML, с помощью чего можно взять значения определенных тегов?
0
|
|
| 25.05.2011, 10:19 | |
|
Ответы с готовыми решениями:
30
Прочитать XML с сайта Не получается прочитать xml Как прочитать XML? |
|
0 / 0 / 0
Регистрация: 13.10.2005
Сообщений: 848
|
|
| 25.05.2011, 11:07 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.10.2005
Сообщений: 848
|
|
| 25.05.2011, 12:40 | |
|
спасибо за ссылку.
я как-то тоже выбирал. остановился на , ибо XSLT 2.0 нужен был.
0
|
|
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
||
| 04.06.2011, 00:04 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 04.06.2011, 20:51 | |
|
дерево строится по индексам - индексируют поток
0
|
|
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|
| 05.06.2011, 18:53 | |
|
То есть это выгодно, когда надо несколько раз бегать по одному и тому же дереву, а для одноразового прохода и сбора данных затратится ещё и время на индексацию, правильно?
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 06.06.2011, 12:55 | |
|
несовсем, построение дерева и аллокаизация памяти (реальная, с копированием данных) - достаточно затратные по времени операции
в случае, например, с ДОМ - происходит построение объектов в памяти в данном случае - только индекс (условно), весь ли индекс грузят в память - мне не известно
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 06.06.2011, 13:18 | |
|
если под одноразовым проходом понимается SAX - то надо учитывать ограничения SAX...
отсутствие рандомного доступа, невозможность проследить связь нод, без создания доп. структур... да - для того чтобы просто выцепить ноду SAX будет "эффективным", но как только возникнет доп. задачи по связанная с записью или анализом - тут и появятся необходимость в др. ср-вах
0
|
|
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|||
| 07.06.2011, 11:19 | |||
Если индекс вырабатывается и сгружается для освобождения памяти куда-то, а это скорее всего на диск)) то мы от дисковой подсистемы сразу же получаем ограничение в скорости.. И если индексы не хранятся в памяти, смысл использования явно не в скорости.
А по скорости интересно было бы глянуть тесты... (риторический вопрос )
0
|
|||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 07.06.2011, 12:39 | |
|
ну с ДОМ есть там бенчмарки
ниже (там же) остальные тесты (ссылки), в том числе и SAX присутствует, по пропускной способности VTD всех побил , расход памяти, разумеется, у SAX отсутствует
0
|
|
|
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
|
|
| 11.01.2012, 19:57 | |
|
Поделитесь пожалуйста удобным парсером на LS, чтобы легко находить нужные ноды, править их свойства, создавать, удалять...
а то надоело в стринг переменную собирать.
0
|
|
|
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 1,698
|
|
| 15.01.2012, 13:56 | |
|
можешь написать сам
0
|
|
|
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
|
|||
| 16.01.2012, 12:10 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 16.01.2012, 12:45 | ||
если собирать в джавастрим (кусками) - нет такого ограничения
0
|
||
|
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
|
||
| 16.01.2012, 13:27 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 07.11.2012, 13:54 | |
|
Есть 30 метровый xml, надо распарсить. nu.xom.Builder падает при постройке парсера: java.lang.OutOfMemoryError
Работает в NotesAgent, проблема именно в размере файла. Вопрос: чем лучше распарсить? XOM выбрал, так как ест меньше памяти чем jDom. В Eclipse файл обрабатывается за 2-3 минуты, причем параллельно создает свою сокращенную копию, а тут даже парсер не строится... Еще может получится достигнуть эффекта через настройки jvm? текущие: vmarg.Xmx=-Xmx1024m vmarg.Xms=-Xms512m vmarg.Xmca=-Xmca2m
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 07.11.2012, 16:16 | |
|
Вот да, тоже начал читать... не могу разобраться как получить следующий элемент "Contact"...
Не поможете? <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class=java>VTDNav vn = vg.getNav(); if (vn.matchElement("ContactList")) count = vn.getAttrVal("Count"); System.out.println("\tFound count: " + vn.toString(count)); //Вывод значения по индексу Count AutoPilot ap = new AutoPilot(vn); ap.selectXPath("//Contact"); // + rootTag); result = ap.evalXPath(); while (result != -1) { // evaluate XPath Expressions withyn the Contact tags if (vn.toElement(VTDNav.FIRST_CHILD, "DisplayName")) { // in Contact do { int val = vn.getText(); if (val != 1) { String value = vn.toNormalizedString(val); System.out.println("\tFound DisplayName: " + value); } } while(vn.toElement(VTDNav.NEXT_SIBLING, "DisplayName")); } }[/CODE]UPD: решено - после while(...) надо было поставить vn.toElement(VTDNav.PARENT);
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 07.11.2012, 16:57 | |
|
яж пример давал (и здесь в том числе):
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Сообщение с форума Интертраста полностью</div></div><div class="sp-body"><div class="sp-content">Тема: XML, DXL и прочая... очередной экзампел (выдергиватель файлов) Mikhail Cholokov, 10:07:2008 20:52 История началась давно, но покоя тема не дает всякие тулзы сопутствующие Домине для XML не слишком гибки/быстры/лаконичны/итп были поиски и экзампелы Первый про LAX - тыцаем сюды Второй про VTD - тыцаем сюды теперь вариант такой - пользуем VTD-XML: <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Пример кода</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class=java>import java.io.*; import com.ximpleware.*; public class save_base64stream { public static void main(String[] args) throws Exception { VTDGen vg = new VTDGen(); // AutoPilot ap = new AutoPilot(); // ap.selectXPath("/document/item/object/file/filedata/text()"); AutoPilot apAttr = new AutoPilot(); apAttr.selectXPath("/document/item/object/file"); if (vg.parseFile("./exported2.dxl", true)) { VTDNav vn = vg.getNav(); apAttr.bind(vn); // ap.bind(vn); int i, iAttr; String fileName; while ((iAttr = apAttr.evalXPath()) != -1) { iAttr = vn.getAttrVal("name"); fileName = vn.toString(iAttr); // System.out.println(fileName); i = -1; vn.toElement(VTDNav.FIRST_CHILD, "filedata"); i = vn.getText(); Base64.decodeToFile(vn.toString(i), "test-" + fileName); vn.toElement(VTDNav.PARENT); // FileOutputStream fos = new FileOutputStream("test"+fileName); // fos.write(s.getBytes()); // fos.close(); // System.out.println(vn.toString(i)); } } } }[/CODE]Base64 класс был в первом примере. Или последний можно взять . компилить можно так: javac -classpath ./:./vtd-xml.jar ./save_base64stream.java !в текущем путе д.б. Base64.class запущать можно так: java -cp ./:./vtd-xml.jar save_base64stream
0
|
|
| 07.11.2012, 16:57 | |
|
Помогаю со студенческими работами здесь
20
Прочитать данные из xml файла Прочитать заданные узлы XML Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|