diff --git a/src/qtsoap.cpp b/src/qtsoap.cpp index c72fd9c..61f8f33 100644 --- a/src/qtsoap.cpp +++ b/src/qtsoap.cpp @@ -2997,7 +2997,14 @@ QtSmartPtr QtSoapTypeFactory::soapType(QDomNode node) const if (attr.isNull() || !constructor) { QHash::ConstIterator it; - if (node.firstChild().isElement()) { + bool hasElemNode = false; + for (int i = 0; i < node.childNodes().count(); i++) { + if (node.childNodes().at(i).isElement()) { + hasElemNode = true; + break; + } + } + if (hasElemNode) { if (localName(node.nodeName().toLower()) == "array") { it = typeHandlers.find("array"); } else