منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : سؤال عن كيفية استخلاص جداول من ملف xml
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
عندي ملف xml اريد جلب المعلومات الموجودة به وو ضعها بـ ثلاث داتا غريد :

الجدول الاول مخزن به :
مدين
دائن
رصيد
اسم الحساب
رقم الحساب
العائدية - مع معلومات اخرة بس غير مهمة .
و الجدول الثاني به :
DebitAccount
CreditAccount
BalanceAccount
AccountName
AccountID
AccountSource - مع معلومات اخرة بس غير مهمة .

الجدول الثالث به اسم الجدول :

AccountsTree

مرفق ملف xml شاكرا تعاونكم .
السلام عليكم ورحمة الله وبركاته اخي العزبز عاصم
بحثت على السريع ووجدت لك هذا الفيديو 
ارجو ان ان يكون المطلوب

https://www.youtube.com/watch?v=FOVROz5wc64
شاهدت الفيديو يستخدم الداتاسيت جربته على ملف المرفق قبل وضع السؤال و لم يستخلص المعلومات و جربت عدة طرق دون جدوى على كل حال مشكور اخي الكريم .

اذا كان عندك حل آخر فضعه .
اخي الكريم
كيف تم بناء هذا الملف لاني فتحته ولم افهم تكوينه.
فجربت تحويل جدول لدي الى xml ووجدت محتواه يمكن فهمه
معذرة اخي الكريم احب تعلم هذه الاشياء xml واخواتها.
تفضل هذا كود بناء الملف :

PHP كود :
       public bool XMLSerialize(string filename)
 
       {
 
           TextWriter writer null;
 
           try
            
{
 
               writer = new StreamWriter(filename);
 
               XmlSerializer serializer = new XmlSerializer(typeof(RepXml), Helper.XmlTypes);
 
               serializer.Serialize(writerthis);
 
           }
 
           catch (Exception excp)
 
           {
 
               throw excp;
 
           }
 
           finally
            
{
 
               if (writer != null)
 
                   writer.Close();
 
           }
 
           return true;
 
       

PHP كود :
static Helper()
 
       {
 
           Helper.g_xml_types = new Type[] {
                                             
  typeof(RepXml0), 
                                             
  typeof(RepXml1), 
                                             
  typeof(RepXml2), 
                                             
  typeof(RepXml3), 
                                             
  typeof(RepXml4),
                                             
  typeof(RepXml5),
                                             
  typeof(RepXml6),
                                             
  typeof(RepXml7),
                                             
  typeof(RepXml8),
            };
 
           Helper.g_res_man = new System.Resources.ResourceManager("Repxmlxt.Strings"System.Reflection.Assembly.GetExecutingAssembly());
 
       }
 
       public static Type[] XmlTypes
        
{
 
           get { return Helper.g_xml_types; }
 
       

عذرا سأنقل الموضوع لقسم اسئلة السي شارب لاني لم اتوقع ان اسال عن كيفية كتابته .

وهذه طرقة تعبئة الداتاغريد فيو منه :

لكنه يعبئ الجدول الاول ناقص AccountName و يضع حقل فارغ .
PHP كود :
           XmlNode nod;
 
           XmlDocument xd = new XmlDocument();
 
           xd.Load(@"C:\Users\ALASEM\Desktop\AccountsTree.xml");
 
           nod xd.SelectSingleNode("/RPFDocument/ElementList");
 
           textBox1.Text nod.ChildNodes[2].ChildNodes[2].ChildNodes[1].ChildNodes[11].InnerText;
 
           for (int i 0nod.ChildNodes[2].ChildNodes[2].ChildNodes.Counti++)
 
           {
 
               String dgvxml nod.ChildNodes[2].ChildNodes[2].ChildNodes[i].ChildNodes[11].InnerText;
 
               if (dgvxml == String.Empty)
 
                   continue;
 
               dgvBUYKAMA.Rows.Add(dgvxml);
 
           }
 
           for (int i 0nod.ChildNodes[2].ChildNodes[2].ChildNodes.Counti++)
 
           {
 
               String dgvxml nod.ChildNodes[1].ChildNodes[2].ChildNodes[i].ChildNodes[11].InnerText;
 
               if (dgvxml == String.Empty)
 
                   continue;
 
               dgvBUYKAMA.Rows.Add(dgvxml);
 
           }
 
           for (int i 0nod.ChildNodes[2].ChildNodes[5].ChildNodes.Counti++)
 
           {
 
               String dgvxml nod.ChildNodes[2].ChildNodes[3].ChildNodes[i].InnerText;
 
               if (dgvxml == String.Empty)
 
                   continue;
 
               dgvBUYKAMA.Rows.Add(dgvxml);
 
           

لكنه يعبئ الجدول الاول ناقص AccountName و يضع حقل فارغ و هذا خاطئ .

لكن املت ان يكون هناك طريقة اسهل و اسرع .
السلام عليكم اخي الغالي عاصم
لم اكن اعرف XML واخواتها 
تذكرت كان واخواتها في اللغة العربية الجميلة عند سؤالك الذي كان حافزا ان اتعرف على XML
أنشات ملف XML ووضعت فيه 3 جداول ثم قمت بعرضها في 3 داتاغرايد
وكوني حديث العهد بها لااعرف ان كانت غايتك ستتحقق في هذا المثال ام ان هناك شيئا أخر تبحث عنه
ملف XML موجود في مجلد Debug
المعذرة البرنامج بلغة vb.net 
نوع الاكس ام ال الذي اتحدث : xsi:type اسلوبه مختلف عن االداتا سيت لواني اريد عمل ثلاث جداول من النوع العادي اسهل شيئ ان اعبئ داتا سيت بثلاث جداول و عمل لها كتابة الى اكس ام ال و اذا تريد مثال عن استخدام الاكس امال كـ اضافة تعديل حذف بحث سهل و بسيط :

مشروع المفكرة الشهرية امل ان يعجبكم .

الفورم الثانية بها كل شيئ عن الاكس ام ال .