diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-12 09:21:28 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-12 09:21:28 +0000 |
| commit | 5a764007436eac8416a2d567bbc5e0a56ffc4240 (patch) | |
| tree | 4d3ebf51d9e57ecd29f1228cb07dc728f5e8432d /source/QXmppElement.cpp | |
| parent | 6c1eb5edcf0b301d2b30c9a649a23fc79148f5e6 (diff) | |
| download | qxmpp-5a764007436eac8416a2d567bbc5e0a56ffc4240.tar.gz | |
add support for nest QXmppElements
Diffstat (limited to 'source/QXmppElement.cpp')
| -rw-r--r-- | source/QXmppElement.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/QXmppElement.cpp b/source/QXmppElement.cpp index 21571417..7dac43e6 100644 --- a/source/QXmppElement.cpp +++ b/source/QXmppElement.cpp @@ -39,6 +39,18 @@ QXmppElement::QXmppElement(const QDomElement &element) QDomAttr attr = attributes.item(i).toAttr(); m_attributes.insert(attr.name(), attr.value()); } + + QDomElement childElement = element.firstChildElement(); + while (!childElement.isNull()) + { + m_children.append(QXmppElement(childElement)); + childElement = childElement.nextSiblingElement(); + } +} + +QStringList QXmppElement::attributeNames() const +{ + return m_attributes.keys(); } QString QXmppElement::attribute(const QString &name) const @@ -51,6 +63,16 @@ void QXmppElement::setAttribute(const QString &name, const QString &value) m_attributes.insert(name, value); } +QList<QXmppElement> QXmppElement::children() const +{ + return m_children; +} + +void QXmppElement::setChildren(QList<QXmppElement> &children) +{ + m_children = children; +} + QString QXmppElement::tagName() const { return m_tagName; @@ -66,6 +88,8 @@ void QXmppElement::toXml(QXmlStreamWriter *writer) const writer->writeStartElement(m_tagName); foreach (const QString &attr, m_attributes.keys()) helperToXmlAddAttribute(writer, attr, m_attributes.value(attr)); + foreach (const QXmppElement &child, m_children) + child.toXml(writer); writer->writeEndElement(); } |
