Pablik
30th October 2013, 11:40
Hi i make QDomDocument and add 2 root chields (Accouts and Tests) next i save to file. Now if i want read this form file, QDomDocument read only 1 root chield (Accounts), Why ??
//Code
#include <QtCore>
#include <QtXml>
void save()
{
QDomDocument XMLDocument;
QDomElement Accounts = XMLDocument.createElement("Accounts");
XMLDocument.appendChild(Accounts);
QDomElement Account1;
Account1 = XMLDocument.createElement("Account");
Account1.setAttribute("Name", "Account1");
Accounts.appendChild(Account1);
QDomElement Account2;
Account2 = XMLDocument.createElement("Account");
Account2.setAttribute("Name", "Account2");
Accounts.appendChild(Account2);
QDomElement Tests = XMLDocument.createElement("Tests");
XMLDocument.appendChild(Tests);
QDomElement Test1;
Test1 = XMLDocument.createElement("Test");
Test1.setAttribute("Name", "Test1");
Tests.appendChild(Test1);
QDomElement Test2;
Test2 = XMLDocument.createElement("Test");
Test2.setAttribute("Name", "Test2");
Tests.appendChild(Test2);
QFile XMLFile("d:/test.xml");
if( XMLFile.open(QIODevice::ReadWrite | QIODevice::Text) )
{
QTextStream tStream(&XMLFile);
tStream << XMLDocument;
}
XMLFile.flush();
XMLFile.close();
}
void load()
{
QFile XMLFile("d:/test.xml");
QDomDocument XMLDocument;
if(XMLFile.open(QIODevice::ReadWrite | QIODevice::Text))
{
XMLDocument.setContent(&XMLFile);
XMLFile.close();
}
qDebug() << XMLDocument.childNodes().count();
}
int main()
{
save();
load();
}
//XMLFile
<Accounts>
<Account Name="Account1"/>
<Account Name="Account2"/>
</Accounts>
<Tests>
<Test Name="Test1"/>
<Test Name="Test2"/>
</Tests>
//Code
#include <QtCore>
#include <QtXml>
void save()
{
QDomDocument XMLDocument;
QDomElement Accounts = XMLDocument.createElement("Accounts");
XMLDocument.appendChild(Accounts);
QDomElement Account1;
Account1 = XMLDocument.createElement("Account");
Account1.setAttribute("Name", "Account1");
Accounts.appendChild(Account1);
QDomElement Account2;
Account2 = XMLDocument.createElement("Account");
Account2.setAttribute("Name", "Account2");
Accounts.appendChild(Account2);
QDomElement Tests = XMLDocument.createElement("Tests");
XMLDocument.appendChild(Tests);
QDomElement Test1;
Test1 = XMLDocument.createElement("Test");
Test1.setAttribute("Name", "Test1");
Tests.appendChild(Test1);
QDomElement Test2;
Test2 = XMLDocument.createElement("Test");
Test2.setAttribute("Name", "Test2");
Tests.appendChild(Test2);
QFile XMLFile("d:/test.xml");
if( XMLFile.open(QIODevice::ReadWrite | QIODevice::Text) )
{
QTextStream tStream(&XMLFile);
tStream << XMLDocument;
}
XMLFile.flush();
XMLFile.close();
}
void load()
{
QFile XMLFile("d:/test.xml");
QDomDocument XMLDocument;
if(XMLFile.open(QIODevice::ReadWrite | QIODevice::Text))
{
XMLDocument.setContent(&XMLFile);
XMLFile.close();
}
qDebug() << XMLDocument.childNodes().count();
}
int main()
{
save();
load();
}
//XMLFile
<Accounts>
<Account Name="Account1"/>
<Account Name="Account2"/>
</Accounts>
<Tests>
<Test Name="Test1"/>
<Test Name="Test2"/>
</Tests>