Название: изменение значения ноды XML Отправлено: Blayder от Июль 15, 2009, 01:16 Идея такова - сохранять некие значения элементов в XML файле:
Код
Получаю требуемые значение таким обьразом(наверняка метод кривой, но эт все до чего я за весь седняшний вечер допер :D ): Код Что дает нам результат "0"... В принципе то, что надо... И тут проблемка вышла... Как мне изменить данное значение? Или же единственный вариант - это заново генерировать хмл файлик с новыми значениями, потом сохранять его и заного загружать с примененными изменениями? Название: Re: изменение значения ноды XML Отправлено: break от Июль 15, 2009, 03:04 если бы у вас были атрибуты а не текстовые ноды что-то типа такого
Код
То для работы можно было бы использовать соответствующие методы attribure/setAttribute в QDomElement. А так получается из QDomNode брать QDomText (методы isText() toText()) и работать с ним. В нем переопределен оператор присваения - как минимум через это по идее можно занести новые значения... А вообще все это в ассистенте есть. Название: Re: изменение значения ноды XML Отправлено: Blayder от Июль 15, 2009, 09:15 Хм... Попробую поменять под вашу рекомендацию...
В асистенте то есть описания функций и т.д., но без элементарных примеров по использованию этих функций - извините, я не осилил... А существующий пример DomXMLBookmarks уж извините - слишком громоздок и страдает на наличие хороших поясняющих коментариев, что как и где делается, дабы по нему учиться... Поэтому уповаю на вашу милость :'( П.С. Почитав асситент еще немного, понял Вашу идею, но Вы немного не так её изложили. проведя эксперимент, выяснил, что аттрибут указывается так: Код По сути, в моей данной конкретно задаче, не обязательно изменение строго одного элемента и я могу себе позволить перестроить весь хмл заново... Название: Re: изменение значения ноды XML Отправлено: break от Июль 15, 2009, 15:31 Еще можете использовать QSettings и XML
http://www.prog.org.ru/index.php?topic=8154.msg58105#msg58105 Там я выкладывал свою реализацию адаптации QSettings к Xml - вроде поддерживает все что может QSettings в том числе вложенные массивы. Кстати можете использовать как несложный пример с комментами. Если все же будете работать с QDomElement - то вам не .firstChildElement("act") надо использовать а скорее QDomNode -- namedItem() уже его приводить из QDomNode в QDomElement методом toElement(), далее работать с аттрибутами Если требуется читать несколько подтегов - табличку такого плана Код
то удобно будет использовать метод Код: QDomNodeList elementsByTagName ( const QString & tagname ) const Название: Re: изменение значения ноды XML Отправлено: warlock от Февраль 13, 2010, 16:59 Поднимаю тему. Каким образом можно изменить значение узла?
Есть например такой файлик: Код
как можно изменить значения например первой записи entry? Чтобы получилось например так: Код
Название: Re: изменение значения ноды XML Отправлено: warlock от Февраль 13, 2010, 17:51 Сделал так:
Код
|