سؤال

وأنا أحاول لإنشاء برنامج التحقق من صحة الرسالة وترغب في إنشاء قواعد للتعديل بسهولة أن تنطبق على أنواع رسالة معينة. نظرا لخطر قواعد تغيير لقد قررت أن تحديد هذه القواعد التحقق من صحة الخارجية إلى رمز الكائن.

ولقد خلق واجهة الأساسية التي تحدد قاعدة وأنا أتساءل ما هي أفضل طريقة لتخزين البيانات وهذا من شأنه أن يكون بسيطة. أنا كان يميل نحو XML ولكن يبدو ان الامر قد يكون ثقيلا جدا.

وكل حكم يحتاج فقط مجموعة صغيرة جدا من البيانات (أي نوع من الحكم، والقيمة، وقناع للتطبيق، الخ).

لا أحد يعرف من موردا جيدا أنني يمكن أن ننظر في ذلك من شأنها أن تؤدي وظيفة مشابهة. I تفضل عدم حفر عميقة جدا في XML على المشكلة التي يبدو أنها تحتاج بالكاد مجموعة فرعية من وظائف أرى في معظم الأمثلة I تصطدم.

إذا ما وجدت مثال مختصر لدراسة سأكون قادرا على اتخاذ قرار بشأن ما إذا كان أو لم يكن لمجرد الذهاب مع ملف ثابت.

وشكرا مقدما على المدخلات الخاصة بك!

هل كانت مفيدة؟

المحلول

وشخصيا، للشركات الصغيرة، XML للتعديل بسهولة، وأجد TinyXML ليكون مكتبة ممتازة. يمكنك ان تجعل كل فئة على فهم انها شكل خاص، بحيث يتم تمثيل التسلسل الهرمي الكائن مباشرة في XML.

ومع ذلك، إذا كنت لا تعتقد أنك بحاجة XML، قد ترغب في الذهاب مع تخزين أخف مثل <وأ href = "http://code.google.com/p/yaml-cpp/" يختلط = " noreferrer نوفولو "> YAML . أجد أنه من الأسهل بكثير لفهم البيانات الأساسية، تعديله وتوسيع وظائف.

و(أيضا، دفعة :: التسلسل لديه أرشيف XML، ولكنها ليست ما أسميه للتعديل بسهولة)

نصائح أخرى

وأبسط هو استخدام ملف ثابت صمم ليكون سهل تحليل باستخدام المشغل C ++ >>. الرموز بسيطة فقط مفصولة بيضاء.

وهناك طريقة أخرى لتنفيذ هذا سيكون لتحديد القواعد الخاصة بك في مخطط XML ومن ثم يكون أداة ربط البيانات XML توليد C ++ طراز كائن المقابلة مع إعراب XML ورمز التسلسل. واحدة من هذه الأداة (أن يحدث لي للعمل على) هي CodeSynthesis XSD:

http://www.codesynthesis.com/products/xsd/

للمحة 2 دقيقة من هذه الفكرة، راجع المثال "مرحبا أيها العالم" في وثائق رسم الخرائط C ++ / شجرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top