3 #include <QtXml/QDomDocument>
19 : m_document(new QDomDocument)
39 if(!d->m_document->setContent(data))
53 return d->m_document->toString();
59 int left = body.indexOf(
"<");
62 const int right = body.indexOf(
">", left + 1);
68 const QString &sub = body.mid(left + 1, right - left - 1);
69 body.replace(left + 1, right - left - 1, sub.toLower());
70 left = body.indexOf(
"<", left + 1);
78 const QDomNodeList &nodes = d->m_document->elementsByTagName(tagName);
79 return nodes.isEmpty() ? QString() : nodes.item(0).toElement().text();
85 const QDomNodeList &nodes = d->m_document->elementsByTagName(tagName);
92 for(
int i = 0; i < nodes.count(); ++i)
94 const QDomNodeList ¶mNodes = nodes.item(i).childNodes();
96 for(
int j = 0; j < paramNodes.count(); ++j)
98 const QDomNode ¶mNode = paramNodes.item(j);
99 QString text = paramNode.toElement().text();
101 if(text.contains(type, Qt::CaseInsensitive))
103 const QString &nodeName = paramNode.nodeName();
109 if(nodeName.contains(
"servicetype", Qt::CaseInsensitive))
113 else if(nodeName.contains(
"serviceid", Qt::CaseInsensitive))
117 else if(nodeName.contains(
"scpdurl", Qt::CaseInsensitive))
121 else if(nodeName.contains(
"controlurl", Qt::CaseInsensitive))
125 else if(nodeName.contains(
"eventsuburl", Qt::CaseInsensitive))
QString tagNameToLower(const QString &data) const
The class of the dlna xml.
QString readTagNameValue(const QString &tagName) const
QDomDocument * m_document
The class of the dlna service.
QDlnaService readServiceTag(const QString &type, const QString &tagName) const
#define TTK_INIT_PRIVATE(Class)
The class of the ttk private base.
bool fromString(const QString &data)
The class of the dlna xml private.