نمایش نتایج 1 تا 9 از 9

نام تاپیک: ذخیره به صورت xml

  1. #1

    Talking ذخیره به صورت xml

    از یک ریچ تکست استفاده نمودم
    چطور می تونم اطلاعاتم رو به صورت اکس ام ال ذخیره کنم؟

  2. #2

    نقل قول: ذخیره به صورت xml

    نقل قول نوشته شده توسط bigknight مشاهده تاپیک
    از یک ریچ تکست استفاده نمودم چطور می تونم اطلاعاتم رو به صورت اکس ام ال ذخیره کنم؟
    سلام.
    چه اطلاعاتی رو می خواهید بصورت XML ذخیره کنید؟ محتویات RichTextBox رو؟ محتویات مزبور چی هستن؟ Schema ی XML ای که می خواهید ذخیره کنید چیه؟

    موفق باشید.

  3. #3

    نقل قول: ذخیره به صورت xml

    هر چیزی که توی ریچ تکست نوشته میشه به صورت یه کد اکس ام ال ذخیره بشه

  4. #4

    نقل قول: ذخیره به صورت xml

    نقل قول نوشته شده توسط bigknight مشاهده تاپیک
    هر چیزی که توی ریچ تکست نوشته میشه به صورت یه کد اکس ام ال ذخیره بشه
    تحت چه Schema ای؟ فرض کنیئ توی RichTextBox زده شده: "این یک متن آزمایشی است". انتظار دارید XML ای که ذخیره می کنید چی باشه؟ بنویسید تا بهتون بگم چیکار کنید. این فقط یک مثال ساده هستش:


    XmlDocument doc = new XmlDocument();
    XmlElement root = doc.CreateElement("Content");
    doc.AppendChild(root);
    root.InnerText = this.richTextBox1.Text;
    doc.Save("d:\\temp.xml");


    موفق باشید.

  5. #5

    نقل قول: ذخیره به صورت xml

    ممنون از راهنماییتون
    اطلاعات در مورد شما رو الان ندارم ولی از استاد می گیرم در اختیارتون قرار می دم.

  6. #6

    نقل قول: ذخیره به صورت xml

    سلام
    من میخوام هر چند تا تگ Lable که می خوام به فایل xml اضافه کنم
    در انتها یک تگ هم با نام section اضافه کنم
    فقط برای هر یک از این تگها ویژگی رنگ هم در زمان ایجاد بر عهده کاربر خواهد بود
    کاربر خودش لیبل را ایجاد یک رنگ بهش اختصاص می دهد و سپس لیبل بعدی را ایجاد می کند.

  7. #7
    کاربر دائمی آواتار mohammad meta
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    تهران
    پست
    125

    نقل قول: ذخیره به صورت xml

    با سلام
    این کار بوسیله serialization انجام میشه.

  8. #8

    نقل قول: ذخیره به صورت xml

    دوست عزیز متا میشه توضیح بدین در مورد سریالیزیشن؟

  9. #9

    نقل قول: ذخیره به صورت xml

    نقل قول نوشته شده توسط bigknight مشاهده تاپیک
    سلام
    من میخوام هر چند تا تگ Lable که می خوام به فایل xml اضافه کنم
    در انتها یک تگ هم با نام section اضافه کنم
    فقط برای هر یک از این تگها ویژگی رنگ هم در زمان ایجاد بر عهده کاربر خواهد بود
    کاربر خودش لیبل را ایجاد یک رنگ بهش اختصاص می دهد و سپس لیبل بعدی را ایجاد می کند.
    سلام.
    برای اینکار، می تونید از این کلاس، استفاده کنید:

    /// <summary>
    /// Provides a utility class to handle xml serialization.
    /// </summary>
    /// <typeparam name="T">The type to be serialized and/or deserialized.</typeparam>
    public class XmlSerializer<T>
    {
    /// <summary>
    /// Serializes the object to the given xml string.
    /// </summary>
    /// <param name="obj">The object to serialize.</param>
    /// <returns>A serialized xml string that contains the entire object information.</returns>
    public static string Serialize(T obj)
    {
    if (obj == null)
    return null;

    using (StringWriter writer = new StringWriter())
    {
    XmlSerializer serializer = new XmlSerializer(typeof(T));
    serializer.Serialize(writer, obj);
    return writer.ToString();
    }
    }



    روش استفاده چیه؟ شما باید یک کلاس درست کنید، اسمش رو بذارید Label. سپس بالای کلاس Label، این خصیصه رو اضافه کنید:

    [Serializable]


    سپس، List ای از این Label ها بسازید و هر وقت خواستید اونها رو بصورت XML ذخیره کنید، کافیه بدین شکل عمل کنید:

    string xml = XmlSerializer<List<Label>>.Serialize(myLabels);


    بدین ترتیب، یه XML حاضر و آماده بصورت string دارید که هر کاری مایل باشید میتونید باهاش انجام بدید. جایی که گفتید Label ها رنگ داشته باشن، کافیه به کلاس Label خودتون، یه Property به اسم Color اضافه کنید و بالای این Property خصیصه XmlAttribute() رو اعمال کنید. بدین ترتیب، XML تولید شده، حاوی N تا Label خواهد بود (بصورت element) که هر Label به نوبه خودش، حاوی یک attribute رنگ هستش.

    موفق باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •