PDA

View Full Version : کمک در مورد ساخت app.config با کد C#.Net ?



ho3einn
دوشنبه 14 اردیبهشت 1388, 08:02 صبح
اگر اساتید محترم کسی میتونه نحوه ایجاد این نمونه config رو که پایین گذاشتم با کد C#.net برام بنویسه

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>

<add key="ConnectionString" value="user id=sa;data source=Local;initial catalog=Personal;Password=123;" />

</appSettings>
</configuration>

راستش مشکل من تو ایجاد این xml اینه که وقتی میخوام خط ConnectionString رو ایجاد کنم نمی دونم چطوری بایداسم دیتا بیس و پسورد و...رو تو یک خط بنویسم ممنون میشم اگه کسی کمکم کنه

ho3einn
دوشنبه 14 اردیبهشت 1388, 22:53 عصر
با سلام از دوستان خواهش میکنم آگه کسی میتونه کمکم کنه من هر کاری میکنم نمیتونم اون خطی که توش ConnectionString تعریف شده رو از طریق کد نویسی در بیارم اگه کسی بگه که این خط <add key="ConnectionString" value="user id=sa;data source=HOME;initial catalog=Test;Password=123456;" />چطوری میشه با کد تو یه xml file نوشت ممنون میشم

prankster
سه شنبه 15 اردیبهشت 1388, 00:07 صبح
کمی عجیبه! معمولا فایل های config را به صورت static ایجاد می کنند و در زمان runtime آنرا تغییر نمی دهند! چون فایل config در زمان اجرا شدن برنامه Load می شود و در صورت تغییر آن برای مشاهده تغییرات باید برنامه دوباره اجرا شود. مگر اینکه بخواهید فایل config را خودتان ایجاد کنید!

مثل هر xml دیگر در Net. از چندین روش مختلف می توان node های xml را ایجاد و یا edit کرد. من معمولا از DOM استفاده می کنم.
مثلا برای ایجاد یک node مثل add در فایل بالا در صورتی که فایل xml دارای node به نام appSettings باشد می توان اینگونه عمل کرد:


System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load("your config file");
System.Xml.XmlNode appSettingsNode = doc.SelectSingleNode("//appSettings");

System.Xml.XmlNode ConnectionStringNode = doc.CreateNode(System.Xml.XmlNodeType.Element, "add", "");
System.Xml.XmlAttribute ConnectionStringAttribute = doc.CreateAttribute("value");
ConnectionStringAttribute.Value = "user id=sa;data source=Local;initial catalog=Personal;Password=123;";

ConnectionStringNode.Attributes.Append(ConnectionS tringAttribute);
appSettingsNode.AppendChild(ConnectionStringNode);

doc.Save("your new config file");