Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java

Войти
Регистрация
Восстановить пароль
 
some_name
Вежливость-главное оружие
227 / 225 / 55
Регистрация: 19.02.2013
Сообщений: 1,441
#1

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

24.06.2014, 15:02. Просмотров 1481. Ответов 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. Редактирование существующего файла (Java):

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

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

Java and XML - Java
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt; &lt;Passwords&gt; &lt;id&gt;22&lt;/id&gt; &lt;name&gt;MyName&lt;/name&gt; &lt;/Passwords&gt; Вот так вот...

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

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

java сохранение обьектов в xml - Java
Здравствуйте. Пытаюсь сохранить обьекты в xml, вот так: User u = new User(&quot;Костя&quot;); FileOutputStream out = new...

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

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

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

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

Добавлено через 1 минуту
Вам придется все делать вручную. Методов специальных для изменения атрибутов нет.
0
some_name
Вежливость-главное оружие
227 / 225 / 55
Регистрация: 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
3981 / 3716 / 462
Регистрация: 18.05.2010
Сообщений: 9,291
Записей в блоге: 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 / 225 / 55
Регистрация: 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 обьектов - Java
Хочу сериализовать в файл свои компоненты - наследники JLabel, JButton и т.д. Когда делаю это по отдельности всё проходит. Когда...

Где взять Enterprise Java XML Editor - Java
в документации по jboss прикаливаются мол The EJX editor is bundled with jBoss, and can be started by executing the /bin/ejx.jar...

Подскажите какой-нибудь из Java парсеров XML - Java
Подскажите какой-нибудь из Java парсеров XML. В принципе мне особой разницы нету, SAX это или DOM. Кто что может сказать по поводу...

Есть такое? XML + java.util.Properties - Java
Нужен какой метод чтобы класс Пропертиес записать в хмл формате. задача проста конечно, просто подумал может уже есть че-то подобное в...


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

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

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