|
Модераторы: LSD, AntonSaburov |
|
lugaru |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 65 Регистрация: 18.11.2011 Репутация: нет Всего: нет |
Добрый день, помогите чайнику в XML решить задачу используя DOM
XML файл такого вида:
Задача: У меня не выходит изменить значения атрибутов, например в элементе с id="2" хочу изменить значение атрибута text Я так понимаю последовательность такая: 1) Изменить значение атрибута 2) Переписать XML файл правильно? Если да то как это реализовать? |
|||
|
||||
jk1 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
lugaru |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 65 Регистрация: 18.11.2011 Репутация: нет Всего: нет |
спасибо, попробую) |
||||
|
|||||
lugaru |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 65 Регистрация: 18.11.2011 Репутация: нет Всего: нет |
спасибо, немного переделал и заработало!) |
||||
|
|||||
rusJA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.1.2018 Репутация: нет Всего: нет |
а с помощью SAX это возможно проделать?
|
|||
|
||||
AntonSaburov |
|
|||
Штурман Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
SAX не хранит структуру XML в памяти. Теоретически можно "перегнать" данные из одного файла в другой, но с помощью StAX (не путать с SAX) и тогда можно в какой-то момент перехватить атрибут и поставить свой.
|
|||
|
||||
rusJA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.1.2018 Репутация: нет Всего: нет |
ну а что делать если документ большой? он же всю память съест, да и не лучшее решение грузить все в память. Задание 1 Создать список персонала фирмы. В фирме все работники делятся на следующие типы: 1) Работник: - ФИО - Дата рождения - Дата принятия на работу 2) Менеджер - ФИО - Дата рождения - Дата принятия на работу - Список работников в подчинении данного менеджера 3) Другие (руководство, секретари и т.д.) - ФИО - Дата рождения - Дата принятия на работу - Текстовое описание сотрудника Список сотрудников должен позволять добавлять, удалять, изменять тип сотрудника, привязывать сотрудника к менеджеру, сортировать список по фамилиям, датам принятия на работу. Данные необходимо читать и писать в xml файл. Требования к програмной реализации: - Приложение должно быть консольным - Для работы с XML необходимо использовать DOM - Входные данные (при добавлении сотрудника) должны читаться из текстового файла Задание 2 (Дополнительное) Миграция xml файла с данными из предыдущего задания в СУБД. Требования к програмной реализации: - Приложение должно быть консольным - Для работы с XML необходимо использовать SAX - До начала работы программы в базе не должно быть таблиц - В качестве СУБД необходимо использовать MySQL это на юниора, в задание 2 написано реализовать с помощью SAX вот и у меня возникла проблема как поменять тип сотрудника с помощью SAX Это сообщение отредактировал(а) rusJA - 22.4.2018, 21:07 |
|||
|
||||
AntonSaburov |
|
|||
Штурман Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Так ты теперь о задании №2 ?
Так судя по всему тебе надо не работать с XML, а уметь перегонять из XML в базу. Это совсем другое - тут действительно можно пошагово обработать XML и уложить его данные в базу. Тогда, на мой взгляд, тебе надо две части: 1. Уметь перегонять XML в базу - приче пункт об отсуствии таблиц вызывает вопрос - а структура XML заране известна или ее надо определять "на лету". Это тогда достаточно неудобная задача. 2. Уметь работать с базой. |
|||
|
||||
rusJA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.1.2018 Репутация: нет Всего: нет |
задание нашел из сети, выполняю его просто так.
как я понимаю база базой, а реализация реализацией. в первом задание выполнить все с помощью DOM, а втором здание как я понимаю DOM надо переписать на SAX вот и возник вопрос по поводу изменения типа сотрудника. ну а по поводу базы, структура xml известна, да и есть примеры в сети как это реализовать |
|||
|
||||
AntonSaburov |
|
|||
Штурман Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Не надо переписывать DOM на SAX.
Реализация DOM в Java сама использует SAX-парсер для построения дерева. Для начала почитайте, что такое SAX. |
|||
|
||||
rusJA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.1.2018 Репутация: нет Всего: нет |
Всё я теперь понял что тут имелось ввиду, чтоб реализовать миграцию.... а там уже SAX, вот что значит не правильно понял задачу, спасибо за прояснение ситуации
|
|||
|
||||
AntonSaburov |
|
|||
Штурман Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Молодцом, что догадались, что SAX может помочь просто "выкусывать" нужные куски информации и отправлять их с базу.
|
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |