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> пустые! Кто-нибудь сталкивался с такой проблемой? |
|
|
Текстовая версия | Сейчас: 30.11.2024, 0:58 |