本文整理汇总了C++中QDomElement::hasAttributeNS方法的典型用法代码示例。如果您正苦于以下问题:C++ QDomElement::hasAttributeNS方法的具体用法?C++ QDomElement::hasAttributeNS怎么用?C++ QDomElement::hasAttributeNS使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDomElement
的用法示例。
在下文中一共展示了QDomElement::hasAttributeNS方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: xmlBase
QString ElementWrapper::xmlBase() const
{
if (!d->xmlBaseParsed) // xmlBase not computed yet
{
QDomElement current = d->element;
while (!current.isNull())
{
if (current.hasAttributeNS(xmlNamespace(), QLatin1String("base")))
{
d->xmlBase = current.attributeNS(xmlNamespace(), QLatin1String("base"));
return d->xmlBase;
}
QDomNode parent = current.parentNode();
if (!parent.isNull() && parent.isElement())
current = parent.toElement();
else
current = QDomElement();
}
d->xmlBaseParsed = true;
}
return d->xmlBase;
}
示例2:
Parser::Parser()
{
d = new Private;
// check for evil bug in Qt <= 3.2.1
if(!qt_bug_check) {
qt_bug_check = true;
QDomElement e = d->doc->createElementNS("someuri", "somename");
if(e.hasAttributeNS("someuri", "somename"))
qt_bug_have = true;
else
qt_bug_have = false;
}
}
示例3: startElement
bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
{
if(depth == 0) {
Parser::Event *e = new Parser::Event;
QXmlAttributes a;
for(int n = 0; n < atts.length(); ++n) {
QString uri = atts.uri(n);
QString ln = atts.localName(n);
if(a.index(uri, ln) == -1)
a.append(atts.qName(n), uri, ln, atts.value(n));
}
e->setDocumentOpen(namespaceURI, localName, qName, a, nsnames, nsvalues);
nsnames.clear();
nsvalues.clear();
e->setActualString(in->lastString());
in->resetLastData();
eventList.append(e);
in->pause(true);
}
else {
QDomElement e = doc->createElementNS(namespaceURI, qName);
for(int n = 0; n < atts.length(); ++n) {
QString uri = atts.uri(n);
QString ln = atts.localName(n);
bool have;
if(!uri.isEmpty()) {
have = e.hasAttributeNS(uri, ln);
if(qt_bug_have)
have = !have;
}
else
have = e.hasAttribute(ln);
if(!have)
e.setAttributeNS(uri, atts.qName(n), atts.value(n));
}
if(depth == 1) {
elem = e;
current = e;
}
else {
current.appendChild(e);
current = e;
}
}
++depth;
return true;
}