تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال عن كيفية استخلاص جداول من ملف xml
#1
عندي ملف xml اريد جلب المعلومات الموجودة به وو ضعها بـ ثلاث داتا غريد :

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

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

AccountsTree

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


الملفات المرفقة
.zip   AccountsTree.zip (الحجم : 1.22 ك ب / التحميلات : 6)
الرد
تم الشكر بواسطة: سعود
#2
السلام عليكم ورحمة الله وبركاته اخي العزبز عاصم
بحثت على السريع ووجدت لك هذا الفيديو 
ارجو ان ان يكون المطلوب

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

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


الملفات المرفقة
.zip   tb.zip (الحجم : 5.41 ك ب / التحميلات : 2)
الرد
#5
تفضل هذا كود بناء الملف :

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

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


الملفات المرفقة
.rar   WorkingWith_XmlFile.rar (الحجم : 70.19 ك ب / التحميلات : 3)
الرد
تم الشكر بواسطة: سعود , asemshahen5
#7
نوع الاكس ام ال الذي اتحدث : xsi:type اسلوبه مختلف عن االداتا سيت لواني اريد عمل ثلاث جداول من النوع العادي اسهل شيئ ان اعبئ داتا سيت بثلاث جداول و عمل لها كتابة الى اكس ام ال و اذا تريد مثال عن استخدام الاكس امال كـ اضافة تعديل حذف بحث سهل و بسيط :

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

الفورم الثانية بها كل شيئ عن الاكس ام ال .
الرد
تم الشكر بواسطة: سعود , ابراهيم ايبو



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم