2
다른 방법을 사용하여 성공적으로 생성 한 Qt에서 XML 파일을 읽으려고합니다. 그 코드는 나에게주는 무슨에 대한 시각적 출력 여기Qt XML 파일 읽기
Project ProjectLoader::loadLastProject(ConsoleModule* console) {
Project project;
// load xml
QFile file("C:/Users/Krynn/Desktop/LastProject.xml");
if(!file.open(QFile::ReadOnly | QFile::Text)) {
// print error cannot open
}
QXmlStreamReader reader;
console->outputDisplay->append("Test");
reader.setDevice(&file);
reader.readNext();
while(!reader.atEnd() && !reader.hasError()) {
reader.readNext();
if(reader.isStartElement()) {
QString name = reader.name().toString();
if(reader.name() == "Project") {
reader.readNextStartElement();
if(reader.name().toString() == "EditorTheme") {
// Append Project theme
console->outputDisplay->append("Theme Detected: " + reader.name().toString() + " " + reader.readElementText());
}
reader.readNextStartElement();
if(reader.name().toString() == "Modules") {
// how do I proceed??
console->outputDisplay->append(QString("") + " " + reader.name().toString() + " " + reader.readElementText());
}
}
}
}
if(reader.hasError()) {
console->outputDisplay->append("XML error: " + reader.errorString());
} else if(reader.atEnd()) {
console->outputDisplay->append("End of XML File Reached");
}
file.close();
return project;
}
그리고 :
여기 내 XML 파일입니다<?xml version="1.0" encoding="UTF-8"?>
<Project>
<EditorTheme>NULL</EditorTheme>
<Modules>
<Module>
<Name>Module_Renderer</Name>
<Position>471,164</Position>
<Size>200,100</Size>
<Locked>true</Locked>
<Visible>true</Visible>
</Module>
<Module>
<Name>Module_Console</Name>
<Position>200,229</Position>
<Size>256,192</Size>
<Locked>true</Locked>
<Visible>false</Visible>
</Module>
<Module>
<Name>Module_ResourceToolkit</Name>
<Position>1049,328</Position>
<Size>200,100</Size>
<Locked>true</Locked>
<Visible>true</Visible>
</Module>
<Module>
<Name>Module_CellEditor</Name>
<Position>542,564</Position>
<Size>200,100</Size>
<Locked>true</Locked>
<Visible>false</Visible>
</Module>
</Modules>
</Project>
그리고 여기이 파일을 구문 분석하는 데 사용하고 몇 가지 코드
정말, XML 파일 내에서 모든 모듈 데이터를로드하는 방법을 알지 못합니다. 이전에이 모든 것을 저장하기 위해 일반 텍스트 파일을 사용했지만 지금은 업그레이드하고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다.