XML - запись значения узла, XML - запись значения узла |
Здравствуйте, гость ( Вход | Регистрация )
XML - запись значения узла, XML - запись значения узла |
31512 |
20.3.2008, 22:49
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 26 Регистрация: 13.3.2008 Из: Красноярск Пользователь №: 119 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, Уважаемые! Столкнулся с проблемой записи некоторого значения в узел XML.
Вот XML исходный: CODE <SEPARATOR PORT="3333" IP="192.168.34.21" NAME="separator" COLOR="1234567" > <PROPERTIES> </PROPERTIES> </SEPARATOR> Таким ожидается получить его получить после добавления дочерних узлов в <PROPERTIES>: CODE <SEPARATOR PORT="3333" IP="192.168.34.21" NAME="separator" COLOR="1234567" > <PROPERTIES> <PROPERTY CODE="TEST_PROP1" > <VALUE>AAA</VALUE> </PROPERTY> <PROPERTY CODE="TEST_PROP2" > <VALUE>AAA</VALUE> <VALUE>AAA</VALUE> </PROPERTY> <PROPERTY CODE="TEST_PROP3" > <VALUE>AAA</VALUE> <VALUE>AAA</VALUE> <VALUE>AAA</VALUE> </PROPERTY> </PROPERTIES> </SEPARATOR> А таким он получается: CODE <SEPARATOR PORT="3333" IP="192.168.34.21" NAME="separator" COLOR="1234567" > <PROPERTIES> <PROPERTY CODE="TEST_PROP1" > <VALUE/> </PROPERTY> <PROPERTY CODE="TEST_PROP2" > <VALUE/> <VALUE/> </PROPERTY> <PROPERTY CODE="TEST_PROP3" > <VALUE/> <VALUE/> <VALUE/> </PROPERTY> </PROPERTIES> </SEPARATOR> Код добавления узлов: CODE CPropertyNode* CSeparatorNode::CreateNewProperty(QString CODE, int ValueCount) { QDomElement PropertiesNode = GetNode().firstChildElement("PROPERTIES"); QDomElement NewProperty = GetNode().ownerDocument().createElement("PROPERTY"); PropertiesNode.appendChild(NewProperty); NewProperty.setAttribute("CODE", CODE); if (ValueCount > 0) { for(int i=0; i<ValueCount; i++) { QDomElement ValueNode = GetNode().ownerDocument().createElement("VALUE"); NewProperty.appendChild(ValueNode); ValueNode.setNodeValue("AAA"); QString S = "Значение свойства установилось в " + ValueNode.nodeValue(); qDebug(S.toAscii());//Здесь всё в порядке, выдаёт "AAA" } } CPropertyNode* Property = new CPropertyNode(this, ValueCount); Property->ProcessByNode(NewProperty); Properties.append(Property); return Property; } Код работает отлично. Узлы создаются. В консоли видно, что установилось желаемое значение узла <VALUE>. Однако после сохранения значения узлов <VALUE> пустые! Кто-нибудь сталкивался с такой проблемой? |
|
|
Admin |
22.3.2008, 9:55
Сообщение
#2
|
Администратор Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: 2 |
А что у тебя происходит в других классах?
Просто что происходит в: мы можем только догадываться.Если не жалко выложи проект (в качестве аттача), или отдельный тестовый проект, повторяющий ошибку. Я потом могу его удалить. p.s. незабудь указать какая версия Qt. |
|
|
Текстовая версия | Сейчас: 2.12.2024, 7:10 |