36 else if(!
m_current.nextSiblingElement().isNull())
71 if(value.toLower() == name.toLower())
101 return m_file->open(QIODevice::WriteOnly | QIODevice::Text);
133 if(!
m_file->open(QIODevice::ReadOnly | QIODevice::Text))
155 #if TTK_QT_VERSION_CHECK(6,5,0)
169 #if TTK_QT_VERSION_CHECK(6,5,0)
188 const QDomNode &node =
m_document->createProcessingInstruction(
"xml",
"version='1.0' encoding='UTF-8'");
194 const QDomNodeList &nodes =
m_document->elementsByTagName(tagName);
195 return nodes.isEmpty() ? QString() : nodes.item(0).toElement().attribute(attrName);
200 const QDomNodeList &nodes =
m_document->elementsByTagName(tagName);
201 return nodes.isEmpty() ? QString() : nodes.item(0).toElement().text();
206 const QDomNodeList &nodes =
m_document->elementsByTagName(tagName);
213 const QDomElement &element = nodes.item(0).toElement();
214 const QDomNamedNodeMap &nodeMap = element.attributes();
216 for(
int i = 0; i < nodeMap.count(); ++i)
218 const QDomAttr &attr = nodeMap.item(i).toAttr();
222 v.
m_text = element.text();
228 const QDomNodeList &nodes =
m_document->elementsByTagName(tagName);
235 for(
int i = 0; i < nodes.count(); ++i)
237 v << nodes.item(i).toElement().attribute(attrName);
244 const QDomNodeList &nodes =
m_document->elementsByTagName(tagName);
251 for(
int i = 0; i < nodes.count(); ++i)
253 v << nodes.item(i).toElement().text();
260 const QDomNodeList &nodes =
m_document->elementsByTagName(tagName);
267 for(
int i = 0; i < nodes.count(); ++i)
269 const QDomElement &element = nodes.item(i).toElement();
270 const QDomNamedNodeMap &nodeMap = element.attributes();
273 for(
int j = 0; j < nodeMap.count(); ++j)
275 const QDomAttr &attr = nodeMap.item(j).toAttr();
279 n.
m_text = element.text();
287 const QDomElement &domElement =
m_document->createElement(node);
294 QDomElement domElement =
m_document->createElement(node);
302 QDomElement domElement =
m_document->createElement(node);
310 const QDomElement &domElement =
m_document->createElement(node);
311 element.appendChild(domElement);
318 const QDomText &domText =
m_document->createTextNode(text);
319 domElement.appendChild(domText);
338 const QDomText &domText =
m_document->createTextNode(text);
339 domElement.appendChild(domText);
368 const QDomText &domText =
m_document->createTextNode(text);
369 domElement.appendChild(domText);
377 case QVariant::Int: element.setAttribute(attr.
m_key, attr.
m_value.toInt());
break;
378 case QVariant::String: element.setAttribute(attr.
m_key, attr.
m_value.toString());
break;
379 case QVariant::LongLong: element.setAttribute(attr.
m_key, attr.
m_value.toLongLong());
break;
380 case QVariant::ULongLong: element.setAttribute(attr.
m_key, attr.
m_value.toULongLong());
break;
381 case QVariant::Double: element.setAttribute(attr.
m_key, attr.
m_value.toDouble());
break;
382 case QVariant::UInt: element.setAttribute(attr.
m_key, attr.
m_value.toUInt());
break;
#define TTKStaticCast(x, y)
TTKXmlHelper(const QDomNode &root)
QDomDocument * m_document
bool fromFile(const QString &name)
QDomElement writeDomElement(QDomElement &element, const QString &node) const
QDomElement writeDomMultiElement(QDomElement &element, const QString &node, const TTKXmlNode &attrs) const
QSet< QString > m_nodeNames
bool fromString(const QString &data)
void createProcessingInstruction() const
QDomElement createRoot(const QString &node) const
TTKXmlNode readNodeByTagName(const QString &tagName) const
bool fromByteArray(const QByteArray &data)
QString nodeName(const QString &name) const
QString readAttributeByTagName(const QString &tagName, const QString &attrName="value") const
QByteArray toByteArray() const
The class of the ttk xml attribute.
The class of the ttk xml node.
TTKXmlNodeList readMultiNodeByTagName(const QString &tagName) const
bool load(const QString &name)
void writeAttribute(QDomElement &element, const TTKXmlAttr &attr) const
virtual ~TTKAbstractXml()
QString readTextByTagName(const QString &tagName) const
QStringList readMultiAttributeByTagName(const QString &tagName, const QString &attrName="value") const
QStringList readMultiTextByTagName(const QString &tagName) const
#define QtVariantType(p)
Variant type.