这是我的代码行,我想从xml文件中加载source:
数据,该文件位于我的设备共享文件夹中。
该xml文件的路径为QFile textfile("/accounts/1000/shared/documents/myData.xml");
我的代码是:
import bb.cascades 1.0
import bb.data 1.0
Page {
content: ListView {
id: listView
dataModel: dataModel
...
}
attachedObjects: [
GroupDataModel {
id: dataModel
},
DataSource {
id: dataSource
//---------------------------------------
//Here I want to load xml file
//---------------------------------------
source: "/accounts/1000/shared/documents/myData.xml"
//---------------------------------------
query: "/contacts/contact"
onDataLoaded: {
dataModel.insertList(data);
}
}
]
onCreationCompleted: { dataSource.load(); }
}
任何人都请帮助我,如何在GroupDataModel中加载xml文件,该文件位于上面的设备目录位置。
提前致谢。
答案 0 :(得分:1)
我们有两个部分要做:
首先允许您的应用程序使用共享文件夹
步骤:
第二个是使用C ++获取正确的路径并将其发送到上下文属性
中的Qml这在您的ApllicationUI.cpp中 C ++代码
// Build the path, add it as a context property, and expose
// it to QML
QString workingDir = QDir::currentPath();
QString path = "file://" + workingDir +"/shared/documents/model.xml";
QDeclarativePropertyMap* dirPaths = new QDeclarativePropertyMap;
dirPaths->insert("documents", QVariant(QString(path)));
qml->setContextProperty("dirPaths", dirPaths);
QML
dataModel: XmlDataModel {
source: dirPaths.documents
}
答案 1 :(得分:1)
此快照描述了如何访问权限 - >共享文件