منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
سؤال عن كيفية استخلاص جداول من ملف xml - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : سؤال عن كيفية استخلاص جداول من ملف xml (/showthread.php?tid=31158)



سؤال عن كيفية استخلاص جداول من ملف xml - asemshahen5 - 31-08-19

عندي ملف xml اريد جلب المعلومات الموجودة به وو ضعها بـ ثلاث داتا غريد :

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

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

AccountsTree

مرفق ملف xml شاكرا تعاونكم .


RE: سؤال عن كيفية استخلاص جداول من ملف xml - ابراهيم ايبو - 31-08-19

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

https://www.youtube.com/watch?v=FOVROz5wc64


RE: سؤال عن كيفية استخلاص جداول من ملف xml - asemshahen5 - 31-08-19

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

اذا كان عندك حل آخر فضعه .


RE: سؤال عن كيفية استخلاص جداول من ملف xml - سعود - 31-08-19

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


RE: سؤال عن كيفية استخلاص جداول من ملف xml - asemshahen5 - 31-08-19

تفضل هذا كود بناء الملف :

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 و يضع حقل فارغ و هذا خاطئ .

لكن املت ان يكون هناك طريقة اسهل و اسرع .


RE: سؤال عن كيفية استخلاص جداول من ملف xml - ابراهيم ايبو - 02-09-19

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



RE: سؤال عن كيفية استخلاص جداول من ملف xml - asemshahen5 - 02-09-19

نوع الاكس ام ال الذي اتحدث : xsi:type اسلوبه مختلف عن االداتا سيت لواني اريد عمل ثلاث جداول من النوع العادي اسهل شيئ ان اعبئ داتا سيت بثلاث جداول و عمل لها كتابة الى اكس ام ال و اذا تريد مثال عن استخدام الاكس امال كـ اضافة تعديل حذف بحث سهل و بسيط :

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

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