2013-11-03 4 views
-1

조리법 관리 소프트웨어를 작성하고 싶습니다. 조리법은 유효한 독립형 XML 파일입니다. 문자열과 정수 값과 이미지 데이터를 포함합니다 (base64 표현). 사용자는 조리법을 만들고 열거 나 편집하고 저장할 수 있어야합니다. 이제 파일 관리 및 효율성 (속도 및 메모리)에 대한 우려가 있습니다.C++ 및 Qt를 사용하여 XML 래서 피를 관리하는 방법은 무엇입니까?

  1. 모든 요리법을 어떻게 관리해야합니까? 나는 그 중 하나를 폴더에 일반 xml 파일로 저장하거나 모든 종류의 라이브러리 파일 하나에 모두 저장할 수 있다고 생각합니다. 첫 번째 방법은 조리법이 사용자가 클릭 할 때로드되므로 시작시 더 빠를 수 있습니다. QTreeView에서. 두 번째 방법은 내용을 변경하는 것이 더 복잡 할 수 있지만 전체 라이브러리를 메모리에 보관하기 때문에보다 효율적이고 빠릅니다.

  2. XML 파일 처리에 DOM을 사용하고 싶습니다. QXmlStreamReader/writer를 사용하는 것이 더 좋을까요?

  3. 어느 쪽이든 고유 ID를 사용하여 레시피 데이터를 관리해야합니다. 여러 가지 "쿠키"요리법. 질문 1의 첫 번째 접근법을 사용할 때, 나는 그러한 ID에 기반한 파일 이름을 사용할 것이다. 고유 ID를 만드는 편리한 방법이 있습니까? 증가하는 정수를 사용할 때 이미 사용중인 숫자를 추적해야하기 때문에.

+0

다소 질문이 많습니다 ... 광고 2. QXmlStreamReader/Writer, Qt 개발자가 새로운 프로젝트에서 사용하는 것이 더 효율적이며 권장됩니다. 3. http://qt-project.org/doc/qt-5.1/qtcore/quuid.html을 사용할 수 있습니다. –

답변

2

나는 레시피 프로그램에서 레시피를 전송하는 데 XML 파일을 사용하고 있습니다. XML을 사용하여 가져오고 내보낼 수있는 옵션이 있습니다.

데이터베이스를 사용하여 요리법을 저장하고 있습니다. XML 데이터 파일을 사용하여 요리법을 저장하지 않습니다. 데이터 관리를 데이터베이스에 맡길 것입니다 (데이터베이스 작성 및 디버깅에 시간을 낭비하지 않습니다).

데이터 저장을 위해 XML보다 효율적인 파일 형식이 있습니다. 또한 XML 파일을 항상 구문 분석하는 것보다 파일에 대한 정렬되고 효율적인 액세스를 허용하는 "인덱스 테이블"을 만들 수 있습니다.