Название: [qt-4.2.0 Linux] QDomDocument и создание второго екземпляра документа Отправлено: izoomer от Октябрь 17, 2007, 13:19 Есть QDomDocument требуется создать аналогичный но за исключением некоторых тегов ... то есть из большого документа создать другой документ QDomdocument с выборочными тегами ... как такое сделать ?
Название: Re: [qt-4.2.0 Linux] QDomDocument и создание второго екземпляра документа Отправлено: Kainit от Октябрь 17, 2007, 14:28 QDomDocument source;
QDomDocument target = source; а дальше, обходим дерево и removeChild() на ненужных узлах... Думается, самый простой способ Название: Re: [qt-4.2.0 Linux] QDomDocument и создание второго екземпляра документа Отправлено: izoomer от Октябрь 17, 2007, 14:32 QDomDocument source; QDomDocument target = source; а дальше, обходим дерево и removeChild() на ненужных узлах... Думается, самый простой способ простой, но когда итемов в исходном 150-200 , а надо 10-25 то уже как то изыбточно удалять лишние итемы. Название: Re: [qt-4.2.0 Linux] QDomDocument и создание второго екземпляра документа Отправлено: pastor от Октябрь 17, 2007, 14:36 Небольшая поправка:
Код: QDomDocument source; В противном случае будет изменяться и исходный документ. Цитировать The data of the copy is shared (shallow copy): modifying one node will also change the other. Название: Re: [qt-4.2.0 Linux] QDomDocument и создание второго екземпляра документа Отправлено: Kainit от Октябрь 17, 2007, 14:54 Цитировать Небольшая поправка: Небольшая, но ценная!Цитировать простой, но когда итемов в исходном 150-200 , а надо 10-25 то уже как то изыбточно удалять лишние итемы. Второй способ - от обратного, делай пустой Target и обходя дерево заполняй его, добавляя те саме 10-25 нужных узлов...Тут ничего не придумаешь при всём желании, разве что генетический алгоритм напишешь, который будет из каких-нибудь хитрых соображений формировать область памяти... Название: Re: [qt-4.2.0 Linux] QDomDocument и создание второго екземпляра документа Отправлено: Lion от Январь 04, 2008, 12:38 Небольшая поправка: Код: QDomDocument source; В противном случае будет изменяться и исходный документ. Еще поправка Код: QDomDocument source; |