Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
some_name
Вежливость-главное оружие
227 / 226 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
1

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

24.06.2014, 15:02. Просмотров 1882. Ответов 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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2014, 15:02
Ответы с готовыми решениями:

Java - XML: упаковать файл в xml
расскажите - каким образом можно создать xml документ с упакованным бианрным...

Как можно присвоить значение аттрибута одного XML файла аттрибута из другого XML файла
привет, при генерации с помощью SAX некоторого xml файла, как можно присвоить...

Java and XML
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt; &lt;Passwords&gt;...

Использование XML и Java.
Господа, хочу попробовать использовать XML с Java. Примерно представляю что...

[Java] XML(SAX)
Помогите с заданием по Java Задание в конце PDF

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

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

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

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

Решение

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

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

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

Кто-нибудь знает, как можно реализовать такую идею. У меня пока ничерта не получилось. Все(напрмер Vogella - я по его туториалу разгребал азы работы с Xml) рекомендую StaX парсеры. Где логика? Если он не может выполнить элементарных функций, которые встречаются практичести каждый раз, когда работаешь с Xml.
0
turbanoff
Эксперт Java
4020 / 3755 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
26.06.2014, 10:09 6
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
Вежливость-главное оружие
227 / 226 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
26.06.2014, 13:40  [ТС] 7
Спасибо, буду пробовать.
0
26.06.2014, 13:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2014, 13:40

XML сериализация java обьектов
Хочу сериализовать в файл свои компоненты - наследники JLabel, JButton и т.д. ...

Обработка XML с помощью Java
Есть xml-файл, &lt;?xml version=&quot;1.0&quot; encoding=&quot;windows-1251&quot;?&gt; &lt;auth&gt; ...

java сохранение обьектов в xml
Здравствуйте. Пытаюсь сохранить обьекты в xml, вот так: User u = new...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru