PDA

View Full Version : فراخوانی تنظیمات صفحه از فایل xml



sara_aryanfar
چهارشنبه 02 فروردین 1391, 01:32 صبح
با سلام خدمت دوستان خوبم من برای صفحه اول یه سری اطلاعات و تنظیمات دارم که توی یک جدول ذخیره می کنم حالا می تونم در هربار فرواخوانی صفحه این داده رو از بانک بخونم و در صفحه اعمال کنم اما خب فکر کنم بهینه نیست مخصوصا برای بازدید های زیاد حالا به فکرم رسید از فایل xmlاستفاده کنم دوستان به نظرتون این راه مناسب هست و در ثانی لطفا یک مثال که به صورت ساده یک فایل xml رو از یه جدول پرکنیم و اونو بخونیم رو برام بزارید ممنون میشم چون چندین pdf که خوندم نتونستم پیاده کنم ممنون

Sirwan Afifi
چهارشنبه 02 فروردین 1391, 02:08 صبح
شما می تونید با اولین PostBack اطلاعات رو توسط Dataset به xml تبدیل کنید توسط متد WriteXML

sara_aryanfar
چهارشنبه 02 فروردین 1391, 14:28 عصر
میشه مثالی در این ضمینه قرار بدین ممنون میشم

Sirwan Afifi
چهارشنبه 02 فروردین 1391, 14:49 عصر
به این صورت :

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter da = new SqlDataAdapter("Select * From News", con);
DataSet ds = new DataSet();
da.Fill(ds);
ds.WriteXml(Server.MapPath("./News/News.xml"));
}
}

sara_aryanfar
چهارشنبه 02 فروردین 1391, 14:54 عصر
ببینید من می خوام یک سری تنظیمات رو بخونم مثلا تلفن تعداد نمایش پست در صفحه یا ایمیلی که در صفحه نمایش داده میشه اگه ممکنه نحوه کامل خوندن از جدول و انتصاب هر مقدار از داخل فایل xml به لیبل مربوطه رو قرار بدین یعنی مثلا تلفن که در فایل xml اومد چطوری اونو به یک لیبل بزاریم ممنون میشم

vof.ir
شنبه 05 فروردین 1391, 00:24 صبح
شما برای سیستم بلاگدهی میخواهید این کار را انجام دهید یا یک سایت؟
برای یک سایت، زمانی که برنامه شما استارت می شود، شما باید این فایل ایکس ام ال را بخوانید و در چند متغیر static بریزید، بدین ترتیب، همواره این متغیر ها در طول عمر برنامه شما در دسترس هستند، هزار بار هم که از سایت بازدید شود، فشاری به سرور نمی آید، چون در رم ریخته شده اند، برای آپدیت هم خب هر وقت که آپدیت شدند، آن چند متغیر را آپدیت کنید،
اگر سیستم بلاگدهی هست و این تنظیمات برای هر بلاگ فرق می کند، می توانید برای هر بلاگ، این متغیر ها را سوا تعریف کنید، یا اینکه، در دیتابیس بنویسید، و کش کنید، که نه خیلی رم اشغال شود و نه خیلی به دیتابیس مراجعه شود!!
در مورد خواندن فایل ایکس ام ال هم به لینک ذیل سر بزنید
https://www.google.com/search?q=how+to+create+subdomain+automaticly+in+as p.net+and+iis&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a#hl=en&client=firefox-a&hs=GvB&rls=org.mozilla:en-US%3Aofficial&sclient=psy-ab&q=how+to+read+node+value+in+xml+file+in+c%23+&oq=how+to+read+node+value+in+xml+file+in+c%23+&aq=f&aqi=&aql=1&gs_l=serp.3...57977l62006l1l62486l24l13l4l0l0l6l13 05l4406l5-4j1j1l11l0.pfwc.1.&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=b837b3d491407ed8&biw=1440&bih=730

sara_aryanfar
شنبه 05 فروردین 1391, 00:39 صبح
طبق این گفته شما اصلا نیاز به فایل xml هم نیست یعنی؟ چون ما می تونیم در بار اول اجرای برنامه برفرض صفحه اول از بانک این متغیرها رو مقدار بدیم و این مقادیر باقی بمونن درسته؟

hesamsalehnamadi
شنبه 05 فروردین 1391, 01:30 صبح
این نمونه از ایجاد فایل xml و درج مقدار داخل اونه.... میتونی با یکم تغییر کاری که میخوای رو انجام بدی ..


protected void Page_Load(object sender, EventArgs e)
{
createXml();
insert();
}
private void createXml()
{

XmlDocument doc = new XmlDocument();

XmlNode declaration = doc.CreateNode(XmlNodeType.XmlDeclaration, null, null);
doc.AppendChild(declaration);

// Root element: dataroot
XmlElement root = doc.CreateElement("dataroot");
doc.AppendChild(root);

// Sub-element: today
XmlElement name = doc.CreateElement("name");
name.InnerText = "0";
root.AppendChild(name);

// Sub-element: yesterday
XmlElement family = doc.CreateElement("family");
family.InnerText = "0";
root.AppendChild(family);

// Sub-element: lastmonth
XmlElement age = doc.CreateElement("age");
age.InnerText = "0";
root.AppendChild(age);

doc.Save(System.Web.HttpContext.Current.Server.Map Path("~/sample.xml"));
}

private void insert()
{
if (!File.Exists(System.Web.HttpContext.Current.Serve r.MapPath("~/sample.xml")))
{
createXml();
}
else
{
XDocument xdoc = XDocument.Load(System.Web.HttpContext.Current.Serv er.MapPath("~/sample.xml"));
var view = from v in xdoc.Elements("dataroot")
select new { name = v.Element("name"), family = v.Element("family"), age = v.Element("age") };
foreach (var item in view)
{
item.name.Value = "habib";
item.family.Value = "salehnamadi";
item.age.Value = "25";
}
xdoc.Save(System.Web.HttpContext.Current.Server.Ma pPath("~/sample.xml"));
}
}


موفق باشی

hesamsalehnamadi
شنبه 05 فروردین 1391, 01:34 صبح
اینارم اضافه کن به using ها

using System.Xml;
using System.IO;
using System.Xml.Linq;

vof.ir
شنبه 05 فروردین 1391, 12:52 عصر
طبق این گفته شما اصلا نیاز به فایل xml هم نیست یعنی؟ چون ما می تونیم در بار اول اجرای برنامه برفرض صفحه اول از بانک این متغیرها رو مقدار بدیم و این مقادیر باقی بمونن درسته؟



بله، بستگی به استراتژی شما دارد، شما یک کلاس بنویسید که کارش این باشه، که یک ساختار برگرداند که متغیرهای مد نظر شما را شامل شود، بعد بنا به تغییر استراتژِی شما، شما می تونید اون کلاس را آپدیت کنید، از فایل بخواند یا از پایگاه داده یا از هر جای دیگر. مهم این هست که برنامه ها تحت وب asp.net چرخه عمری دارند، یک بار که استارت زده می شوند، مثل این هست که یک برنامه تحت ویندوز را اجرا کرده باشید، پس متغیر های استاتیک در اون باقی خواهند ماند، فقط می ماند بحث اینکه کجا و به چه نحوی تعریف کنید که در جایی که مد نظر شماست در دسترس باشند

Sirwan Afifi
دوشنبه 07 فروردین 1391, 16:08 عصر
XmlDocument xml = new XmlDocument();
xml.Load(Server.MapPath("." + "\\News.xml"));

XmlNodeList nodeList = xml.SelectNodes("/NewDataSet/Table");
foreach (XmlNode node in nodeList)
{
Response.Write(""+"Name : "+node["Name"].InnerText);
}

fakhravari
دوشنبه 07 فروردین 1391, 19:38 عصر
4 عمل اصلی با XML اگر نمونه دارید ممنون میشم سمپل بزارید.