diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-15 15:02:21 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-15 15:02:21 +0000 |
| commit | 9fa05f589c6a973d10dbfc3a3fd7f2514cf379f2 (patch) | |
| tree | d38c55bf7918b59276bd7af9753fbf6324ffbebe /source/QXmppElement.cpp | |
| parent | a04f3f45fe4b03ede4f1f89b7610e50714e347b6 (diff) | |
| download | qxmpp-9fa05f589c6a973d10dbfc3a3fd7f2514cf379f2.tar.gz | |
make it possible to get/set QXmppElement value
Diffstat (limited to 'source/QXmppElement.cpp')
| -rw-r--r-- | source/QXmppElement.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/source/QXmppElement.cpp b/source/QXmppElement.cpp index 2dcb87ad..3820f35e 100644 --- a/source/QXmppElement.cpp +++ b/source/QXmppElement.cpp @@ -47,11 +47,14 @@ QXmppElement::QXmppElement(const QDomElement &element) m_attributes.insert(attr.name(), attr.value()); } - QDomElement childElement = element.firstChildElement(); - while (!childElement.isNull()) + QDomNode childNode = element.firstChild(); + while (!childNode.isNull()) { - m_children.append(QXmppElement(childElement)); - childElement = childElement.nextSiblingElement(); + if (childNode.isElement()) + m_children.append(QXmppElement(childNode.toElement())); + else if (childNode.isText()) + m_value += childNode.toText().data(); + childNode = childNode.nextSibling(); } } @@ -95,6 +98,16 @@ void QXmppElement::setTagName(const QString &tagName) m_tagName = tagName; } +QString QXmppElement::value() const +{ + return m_value; +} + +void QXmppElement::setValue(const QString &value) +{ + m_value = value; +} + void QXmppElement::toXml(QXmlStreamWriter *writer) const { if (isNull()) @@ -103,6 +116,7 @@ void QXmppElement::toXml(QXmlStreamWriter *writer) const writer->writeStartElement(m_tagName); foreach (const QString &attr, m_attributes.keys()) helperToXmlAddAttribute(writer, attr, m_attributes.value(attr)); + writer->writeCharacters(m_value); foreach (const QXmppElement &child, m_children) child.toXml(writer); writer->writeEndElement(); |
