Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/30: Рейтинг темы: голосов - 30, средняя оценка - 4.60
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446

Java и Xml. Редактирование существующего файла

24.06.2014, 15:02. Показов 6130. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Есть XML файл:
XML
1
2
3
4
5
6
7
8
9
10
11
<users>
    <user role="user">
        <name>vasya</name>
    </user>
    <user role="admin">
        <name>petya</name>
    </user>
    <user role="guest">
        <name>kolya</name>
    </user>
</users>
1. Как изменить атрибут role="guest" у koli на "admin" при помощи StaX парсера?
2. Какрй пармер лучше использовать для этого?


Заранее спс!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.06.2014, 15:02
Ответы с готовыми решениями:

Редактирование существующего файла
Доброго времени суток! Я не могу понять почему не выполняется перезапись уже имеющегося файла *.dat. Я считываю с него данные в...

Редактирование xml-файла
Всем доброго дня, вопрос у меня такой, как изменить значение атрибута в xml файле? Вот есть у меня конфигурационный файл примерно с...

Редактирование XML-файла
Есть большой XML-файл в котором множество незакрытых тэгов. Т.е. файл такого вида: &lt;teg&gt;Какие-то данные &lt;drugoy_teg&gt;Еще...

6
 Аватар для dvano
136 / 67 / 27
Регистрация: 18.06.2014
Сообщений: 216
24.06.2014, 15:16
Никогда не работал со StaX, но в интернете есть куча ссылок на ваш вопрос. один из них
Правда там добавляется элемент в файл, но может он подойдет.

Добавлено через 5 минут
1
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
25.06.2014, 12:59  [ТС]
Так в том то и дело, добавить элемент вообще не проблем, а вот как изменить атрибут элемента, который уже существует в файле - вот в чем вопрос. Несколько часов гугли - толку ноль.

При помощи StaX парсеров это вообще возможно сделать?

Добавлено через 11 часов 32 минуты
Ау! Может мне кто-нибудь ответить, при помощи StaX парсеров возможно изменить атрибут у элемента?
0
 Аватар для dvano
136 / 67 / 27
Регистрация: 18.06.2014
Сообщений: 216
25.06.2014, 13:17
Лучший ответ Сообщение было отмечено some_name как решение

Решение

StaX не умеет изменять атрибут(нашел в интернете). Может DOM поможет.

Добавлено через 1 минуту
Вам придется все делать вручную. Методов специальных для изменения атрибутов нет.
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
25.06.2014, 23:00  [ТС]
Цитата Сообщение от dvano Посмотреть сообщение
StaX не умеет изменять атрибут(нашел в интернете). Может DOM поможет.
Спасибо. А то я себе уже мозг сломал. Перепишу при помощи DOM

Добавлено через 7 часов 24 минуты
Еще вопрос имеется. У XmlEventReader есть метод который возаращает Locatiin какого-либо элемента.
Так вот, если взять этот локатор и по нему переместить XmlEventWriter. Однако ничерта пока не получилось. У XmlEventWriter нет ничего похожего на .setLocation(). Если это возможно, то мы так сможем только добавлять элементы в документ. А вот с редактирование проблемы.

Кто-нибудь знает, как можно реализовать такую идею. У меня пока ничерта не получилось. Все(напрмер Vogella - я по его туториалу разгребал азы работы с Xml) рекомендую StaX парсеры. Где логика? Если он не может выполнить элементарных функций, которые встречаются практичести каждый раз, когда работаешь с Xml.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
26.06.2014, 10:09
some_name, StaX, в сравнении с DOM, позволяет обработать огромные XML документы, за счет того что не загружает их целиком в память. Отсюда выливается естественное ограничение на невозможность модификации.
Если объемы ваших документов не будут большими - используйте DOM.
Модификация XML документа с помощью StaX возможна, если одновременно с чтением сразу записывать результаты в StaX writer. Вот тут есть пример - http://stackoverflow.com/questions/16479523/how-to-modify-a-huge-xml-file-by-stax
2
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
26.06.2014, 13:40  [ТС]
Спасибо, буду пробовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.06.2014, 13:40
Помогаю со студенческими работами здесь

Редактирование XML файла
Помогите пожалуйста разобраться. Eсть xml документ: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;IPNetDescList&gt; ...

Редактирование XML файла
Здравствуйте. Есть файл типа: &lt;offer&gt; &lt;uniq&gt;111&lt;/uniq&gt; &lt;param&gt;001&lt;/param&gt; &lt;image&gt;image1.jpg&lt;/image&gt; &lt;/offer&gt; ...

Редактирование файла xml
Доброй ночи!!! Кому не трудно, объясните нормально работу ( на примере ) стандартного парсера xmldocument. Необходимо загрузить текст...

Редактирование XML файла
Здравствуйте, столкнулся с проблемой &quot;фильтрации&quot; xml файла. Задача по сути легкая, но есть одно НО : файл, в котором проводится...

Редактирование файла в формате XML
Есть файл, имеющий структуру xml. В разделе &lt;Profile&gt;&lt;StorageRoot&gt;&lt;AcApData&gt;&lt;HideableDialogs&gt;&lt;HideableDialog...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru