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

نام تاپیک: نحوه خواندن و نوشتن اطلاعات در فایل xml

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    نا کجا باد
    پست
    813

    نحوه خواندن و نوشتن اطلاعات در فایل xml

    با سلام به دوستان
    من از دستورات زیر برای نوشتن رشته attch to database , connection string در فایل xml استفاده می کنم فایل xml ساخته می شود و اطلاعات در فایل xml نوشته می شود فقط مشکل اینجا است که کاربر وقتی دگمه ثبت را می زنه اطلاعات در فایل xml نوشته می شود و اگر همان لحظه خواست تغییرات دوباره اعمال کنه و دوباره دگمه ثبت را می زنه ادامه دادها در xml نوشته می شه ولی من میخواهم دادهای قبلی با تغییرات جدید تغییر کنه در فایل xml

    XmlTextWriter writer = new XmlTextWriter(Path.GetFullPath(@"Xml.xml"), System.Text.Encoding.UTF8);

    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Indent = true;
    writer.WriteStartDocument();
    writer.WriteComment("This file is generated by the program.");
    writer.WriteStartElement("Configuration");
    writer.WriteStartElement("AtachDatabase");
    writer.WriteElementString("ADb", db_master);
    writer.WriteStartElement("ConnectionString");
    writer.WriteElementString("CSTR", db_name);
    writer.WriteEndElement();
    writer.WriteFullEndElement();
    writer.WriteEndDocument();
    writer.Flush();
    writer.Close();

    سوال دیگر اینکه نحوه ی خواندن این اطلاعات را از xml میخوام ، چگونه این اطلاعات را بخونم
    با ت

  2. #2

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    برای درج اطلاعات از کد Update هم میشه استفاده کرد، در اون صورت اگه وجود داشت به روز رسانی میشه.
    برای خوندن همه اطلاعات هم، ساده ترین راه استفاده از XmlReader هست

    XmlReader rdr = XmlReader.Create(strFilePath);
    while (rdr.Read())
    {
    if(rdr.NodeType == XmlNodeType.Text)
    {
    listBox1.Items.Add(rdr.Value);
    }
    }

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    نا کجا باد
    پست
    813

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    با تشکر دوست عزیز Dezfoul می شه کد آنرا هم بگویید چگونه است
    که بتوانم اطلاعات تک به تک(فیلد به فیلد) را از xml دریافت کنم و در تعدادی textbox این فیلدها را نمایش بدهم
    و این به چه صورت است
    برای درج اطلاعات از کد Update هم میشه استفاده کرد، در اون صورت اگه وجود داشت به روز رسانی میشه.
    آخرین ویرایش به وسیله mohammad kafiyan : پنج شنبه 24 آذر 1390 در 20:29 عصر

  4. #4
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    سلام دوست خوب،
    اینم یک نمونه:
    <?xml version="1.0" encoding="utf-8"?>
    <Configuration>
    <ConnectionString>
    <DataSource>.\SQLEXPRESS</DataSource>
    <InitialCatalog>Your_Db</InitialCatalog>
    <UserID>
    </UserID>
    <Password>
    </Password>
    <IntegratedSecurity>True</IntegratedSecurity>
    <Security>False</Security>
    </ConnectionString>
    </Configuration>


    protected internal void GetConnectionString()
    {
    try
    {
    if (File.Exists(_path))
    {
    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(_path));
    vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();

    foreach (XmlElement element in doc.SelectNodes("//ConnectionString"))
    {
    _DataSource = element.ChildNodes[0].InnerText;
    _InitialCatalog = element.ChildNodes[1].InnerText;
    _UserID = element.ChildNodes[2].InnerText;
    _Password = element.ChildNodes[3].InnerText;
    _IntegratedSecurity = Convert.ToBoolean(element.ChildNodes[4].InnerText);
    _Security = Convert.ToBoolean(element.ChildNodes[5].InnerText);
    }
    }
    }
    catch { }
    }


    private void SaveConnection(object sender, EventArgs e)
    {
    try
    {
    string path = "Configuration.xml";
    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(path));
    vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();

    foreach (XmlElement element in doc.SelectNodes("//ConnectionString"))
    {
    XmlNode root = doc.DocumentElement["ConnectionString"];

    //Replace the DataSource Element Of XML Document
    XmlElement elemDataSource = doc.CreateElement("DataSource");
    elemDataSource.InnerText = builder.DataSource.ToString();
    root.ReplaceChild(elemDataSource, root.ChildNodes[0]);

    //Replace the InitialCatalog Element Of XML Document
    XmlElement elemSInitialCatalog = doc.CreateElement("InitialCatalog");
    elemSInitialCatalog.InnerText = builder.InitialCatalog.ToString();
    root.ReplaceChild(elemSInitialCatalog, root.ChildNodes[1]);

    //Replace the UserID Element Of XML Document
    XmlElement elemUserID = doc.CreateElement("UserID");
    elemUserID.InnerText = builder.UserID;
    root.ReplaceChild(elemUserID, root.ChildNodes[2]);

    //Replace the Password Element Of XML Document
    XmlElement elemPassword = doc.CreateElement("Password");
    elemPassword.InnerText = builder.Password;
    root.ReplaceChild(elemPassword, root.ChildNodes[3]);

    //Replace the IntegratedSecurity Element Of XML Document
    XmlElement elemIntegratedSecurity = doc.CreateElement("IntegratedSecurity");
    elemIntegratedSecurity.InnerText = builder.IntegratedSecurity.ToString();
    root.ReplaceChild(elemIntegratedSecurity, root.ChildNodes[4]);

    //Replace the Security Element Of XML Document
    XmlElement elemSecurity = doc.CreateElement("Security");
    elemSecurity.InnerText = Security.ToString();
    root.ReplaceChild(elemSecurity, root.ChildNodes[5]);
    }

    doc.Save(path);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    نا کجا باد
    پست
    813

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    با سلام و تشکر faravaghi
    کد شما جواب داد می خواستم راجب این قسمت از کد کمی توضیح بدهی کارش چیست
    بعد به شیvr که
    از XmlValidatingReader تعریف شده Warning گرفته چرا ؟چه کار کنم مشکل Warning حل شود

    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(_path)); vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();


    در ضمن برای ثبت در xml که در بالا پست بیان کردم مشکل نداره
    با تشکر

  6. #6
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    سلام،
    البته Warning که مشکل نیست. برنامه که اجرا بشه یعنی خطایی نداره. حالا این که چرا این VS به این خطها ایراد میگیره برمیگرده به بحث پشتیبانیش از این موارد.
    و میگه این شئی متعلق به دات نت 2 است و برای استفاده برین از XmlReader استفاده کنید و این جور حرفا....
    حالا شما اگه میخوای کارت بی نقص باشه و گیری توی اون نباشه به جای کد زیر :
    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(path));
    vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();


    از این کد استفاده کن :
    XmlTextReader reader = new XmlTextReader(path);
    reader.WhitespaceHandling = WhitespaceHandling.None;

    XmlDocument doc = new XmlDocument();
    doc.Load(reader);

    reader.Close();

  7. #7
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    کسی سورسی رو در این خصوص نداره؟

  8. #8
    کاربر دائمی آواتار hosseinrasouli
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    بوشهر
    سن
    35
    پست
    162

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    نقل قول نوشته شده توسط faravaghi مشاهده تاپیک
    سلام دوست خوب،
    اینم یک نمونه:
    <?xml version="1.0" encoding="utf-8"?>
    <Configuration>
    <ConnectionString>
    <DataSource>.\SQLEXPRESS</DataSource>
    <InitialCatalog>Your_Db</InitialCatalog>
    <UserID>
    </UserID>
    <Password>
    </Password>
    <IntegratedSecurity>True</IntegratedSecurity>
    <Security>False</Security>
    </ConnectionString>
    </Configuration>


    protected internal void GetConnectionString()
    {
    try
    {
    if (File.Exists(_path))
    {
    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(_path));
    vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();

    foreach (XmlElement element in doc.SelectNodes("//ConnectionString"))
    {
    _DataSource = element.ChildNodes[0].InnerText;
    _InitialCatalog = element.ChildNodes[1].InnerText;
    _UserID = element.ChildNodes[2].InnerText;
    _Password = element.ChildNodes[3].InnerText;
    _IntegratedSecurity = Convert.ToBoolean(element.ChildNodes[4].InnerText);
    _Security = Convert.ToBoolean(element.ChildNodes[5].InnerText);
    }
    }
    }
    catch { }
    }


    private void SaveConnection(object sender, EventArgs e)
    {
    try
    {
    string path = "Configuration.xml";
    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(path));
    vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();

    foreach (XmlElement element in doc.SelectNodes("//ConnectionString"))
    {
    XmlNode root = doc.DocumentElement["ConnectionString"];

    //Replace the DataSource Element Of XML Document
    XmlElement elemDataSource = doc.CreateElement("DataSource");
    elemDataSource.InnerText = builder.DataSource.ToString();
    root.ReplaceChild(elemDataSource, root.ChildNodes[0]);

    //Replace the InitialCatalog Element Of XML Document
    XmlElement elemSInitialCatalog = doc.CreateElement("InitialCatalog");
    elemSInitialCatalog.InnerText = builder.InitialCatalog.ToString();
    root.ReplaceChild(elemSInitialCatalog, root.ChildNodes[1]);

    //Replace the UserID Element Of XML Document
    XmlElement elemUserID = doc.CreateElement("UserID");
    elemUserID.InnerText = builder.UserID;
    root.ReplaceChild(elemUserID, root.ChildNodes[2]);

    //Replace the Password Element Of XML Document
    XmlElement elemPassword = doc.CreateElement("Password");
    elemPassword.InnerText = builder.Password;
    root.ReplaceChild(elemPassword, root.ChildNodes[3]);

    //Replace the IntegratedSecurity Element Of XML Document
    XmlElement elemIntegratedSecurity = doc.CreateElement("IntegratedSecurity");
    elemIntegratedSecurity.InnerText = builder.IntegratedSecurity.ToString();
    root.ReplaceChild(elemIntegratedSecurity, root.ChildNodes[4]);

    //Replace the Security Element Of XML Document
    XmlElement elemSecurity = doc.CreateElement("Security");
    elemSecurity.InnerText = Security.ToString();
    root.ReplaceChild(elemSecurity, root.ChildNodes[5]);
    }

    doc.Save(path);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }
    سلام مهندس . من فایل app.config اینه

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <connectionStrings>
    <add name="ContextContainer" connectionString="metadata=res://*/Context.csdl|res://*/Context.ssdl|res://*/Context.msl;provider=System.Data.SqlClient;provide r connection string=&quot;Data Source=.;Initial Catalog=TalentDB;User ID=sa;Password=2599;MultipleActiveResultSets=True& quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>
    </configuration>

    اما کد شما رو هر کاری کردم برای خواندن و نوشتن در کانکشن استرینگم جواب نداد ، لطفا کمک کنید .
    اینم کدها :
    protected internal void GetConnectionString()
    {
    try
    {
    string _path = "Appconfig.exe.config";
    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(_path));
    vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();

    foreach (XmlElement element in doc.SelectNodes("//connectionStrings//add"))
    {
    txt_datasource.Text = element.ChildNodes[0].InnerXml;
    txt_database.Text = element.ChildNodes[1].InnerXml ;
    txt_user .Text = element.ChildNodes[2].InnerXml ;
    txt_pass .Text = element.ChildNodes[3].InnerXml ;

    }

    }
    catch (Exception x) { MessageBox.Show("" + x); }
    }


    private void SaveConnection(object sender, EventArgs e)
    {
    try
    {
    string path = "Configuration.xml";
    XmlValidatingReader vr = new XmlValidatingReader(new XmlTextReader(path));
    vr.ValidationType = ValidationType.None;
    vr.EntityHandling = EntityHandling.ExpandEntities;

    XmlDocument doc = new XmlDocument();
    doc.Load(vr);

    vr.Close();

    foreach (XmlElement element in doc.SelectNodes("//ConnectionString"))
    {
    XmlNode root = doc.DocumentElement["ConnectionString"];

    //Replace the DataSource Element Of XML Document
    XmlElement elemDataSource = doc.CreateElement("DataSource");
    elemDataSource.InnerText = txt_datasource.Text;
    root.ReplaceChild(elemDataSource, root.ChildNodes[0]);

    //Replace the InitialCatalog Element Of XML Document
    XmlElement elemSInitialCatalog = doc.CreateElement("InitialCatalog");
    elemSInitialCatalog.InnerText = txt_database.Text;
    root.ReplaceChild(elemSInitialCatalog, root.ChildNodes[1]);

    //Replace the UserID Element Of XML Document
    XmlElement elemUserID = doc.CreateElement("UserID");
    elemUserID.InnerText = txt_user.Text;
    root.ReplaceChild(elemUserID, root.ChildNodes[2]);

    //Replace the Password Element Of XML Document
    XmlElement elemPassword = doc.CreateElement("Password");
    elemPassword.InnerText = txt_pass.Text ;
    root.ReplaceChild(elemPassword, root.ChildNodes[3]);

    }

    doc.Save(path);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }

  9. #9
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

    نقل قول: نحوه خواندن و نوشتن اطلاعات در فایل xml

    فایل سورسش هم میزارید؟

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

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