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

نام تاپیک: نمایش اطلاعات XML در TreeView با LINQ و برعکس

  1. #1
    کاربر دائمی آواتار 13601360
    تاریخ عضویت
    آذر 1386
    محل زندگی
    کنار دریای خزر
    پست
    422

    نمایش اطلاعات XML در TreeView با LINQ و برعکس

    سلام دوستان
    اگر امکان دارد نمونه کدی ساده ای
    برای نمایش اطلاعات فایل XML مثل پایین

    <?xml version="1.0" encoding="utf-8"?>
    <factors>
    <factor number="1" price="1000">
    <code>12</code>
    <group>A</group>
    </factor>
    </factors>

    در TreeView کنترل با استفاده از Linq To XML
    و البته برعکس اون یعنی
    ذخیره اطلاعات TreeView در فایل XML با Linq
    معرفی کنید
    با سپاس
    آخرین ویرایش به وسیله 13601360 : شنبه 04 خرداد 1392 در 09:58 صبح

  2. #2

    نقل قول: نمایش اطلاعات XML در TreeView با LINQ و برعکس

    اولا بگم اگر نفهمید چی به چیه کپی پیست کردن به هیچ دردی نمیخوره. پس در مورد توابع بازگشتی اطلاعات کسب کنید.

    با اینکه قبلا بحث شده ولی کد زیر توسط LinqToXML هست.

    از طریق متد SaveTreeView با دادن آدرس فایل و شئ treeview میتونید سیو کنید. در متد CreateElement میتونید هر چیزی از نود را که نیاز دارید به صورت Attribute ذخیره کنید.

    private void SaveTreeView(TreeView treeView, string filePath)
    {
    XElement rootElement = new XElement("Root");

    foreach (TreeNode mainNode in treeView.Nodes)
    {
    XElement childElement = CreateElement(mainNode);
    rootElement.Add(childElement);
    AddChildElement(mainNode, childElement);
    }

    rootElement.Save(filePath);
    }
    private void AddChildElement(TreeNode treeNode, XElement element)
    {
    foreach (TreeNode childNode in treeNode.Nodes)
    {
    XElement childElement = CreateElement(childNode);
    element.Add(childElement);
    if (childNode.Nodes.Count > 0)
    {
    AddChildElement(childNode, childElement);
    }
    }
    }
    private XElement CreateElement(TreeNode treeNode)
    {
    return new XElement(treeNode.Name,
    new XAttribute("Text", treeNode.Text),
    new XAttribute("Checked", treeNode.Checked),
    new XAttribute("ImageIndex", treeNode.ImageIndex),
    new XAttribute("ToolTipText", treeNode.ToolTipText)
    );
    }


    از متد LoadTreeView هم میتونید لود کنید. در متد CreateTreeNode همه ویژگی هایی که ذخیره کردید را بخوانید و در نود قرار بدید:

    private void LoadTreeView(string filePath, TreeView treeView)
    {
    XElement rootElement;
    try
    {
    rootElement = XElement.Load(filePath);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    return;
    }

    List<TreeNode> nodeLst = new List<TreeNode>();
    foreach (XElement mainElement in rootElement.Elements())
    {
    TreeNode tn = CreateTreeNode(mainElement);
    AddChildTreeNode(mainElement, tn);
    nodeLst.Add(tn);
    }
    treeView.Nodes.AddRange(nodeLst.ToArray());
    }
    private void AddChildTreeNode(XElement element, TreeNode treeNode)
    {
    foreach (XElement childElement in element.Elements())
    {
    TreeNode tn = CreateTreeNode(childElement);
    AddChildTreeNode(childElement, tn);
    treeNode.Nodes.Add(tn);
    }
    }
    private TreeNode CreateTreeNode(XElement mainElement)
    {
    TreeNode tn = new TreeNode();
    tn.Name = mainElement.Name.LocalName;
    tn.Text = mainElement.Attribute("Text").Value;
    tn.Checked = Convert.ToBoolean(mainElement.Attribute("Checked") .Value);
    tn.ImageIndex = Convert.ToInt32(mainElement.Attribute("ImageIndex" ).Value);
    tn.ToolTipText = mainElement.Attribute("ToolTipText").Value;
    return tn;
    }

تاپیک های مشابه

  1. عدم نمایش اطلاعات select شده به وسیله linq در gridviwe
    نوشته شده توسط mustafaehsani در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: یک شنبه 01 اردیبهشت 1392, 23:05 عصر
  2. نمایش اطلاعات دیتابیس در Treeview
    نوشته شده توسط barnamenevisjavan در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 19 بهمن 1391, 17:18 عصر
  3. سوال: نمایش اطلاعات از طریق نودهای treeview
    نوشته شده توسط caspiansea در بخش C#‎‎
    پاسخ: 0
    آخرین پست: شنبه 12 بهمن 1387, 15:10 عصر
  4. نحوه نمایش اطلاعات در TreeView
    نوشته شده توسط rezaiy.ali در بخش VB.NET
    پاسخ: 4
    آخرین پست: سه شنبه 11 دی 1386, 22:11 عصر
  5. نمایش اطلاعات DataBase با TreeView
    نوشته شده توسط golpoo در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: دوشنبه 20 شهریور 1385, 15:30 عصر

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

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