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

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

24.06.2014, 15:02. Показов 6100. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru