سؤال

وماذا يكون أفضل طريقة لقراءة XML من إما XmlDocument أو سلسلة في DataGrid قابلة لل؟

هل للXML ليكون في شكل معين؟

هل لديك لاستخدام مجموعة بيانات كوسيط؟

وأعمل على عميل يستهلك أكس المرسلة عبر من خادم الذي يتم تطويره من قبل أحد زملائي، يمكنني الحصول عليه لتغيير شكل أكس لمطابقة ما يتطلب DataGrid قابلة لل.

هل كانت مفيدة؟

المحلول 4

لدينا إجابة جزئية للحصول على البيانات في مجموعة البيانات ولكن يقرأ في كمجموعة من الجداول مع وصلات العلائقية.

        DataSet ds = new DataSet();
        XmlTextReader xmlreader = new XmlTextReader(xmlSource, XmlNodeType.Document, null);
        ds.ReadXml(xmlreader);

نصائح أخرى

وهذا يعتمد على إصدار. NET كنت تعمل على. إذا كان يمكنك استخدام Linq2Xml ثم فمن السهل. مجرد خلق XDocument وحدد العقد التابعة كقائمة من نوع مجهول.

إذا لا يمكنك استخدام Linq2Xml ثم لديك بعض الخيارات الأخرى. باستخدام DataSet هي واحدة، وهذا يمكن أن تعمل بشكل جيد، ولكن ذلك يعتمد على أكس التي تتلقاها. والخيار الآخر هو لإنشاء فئة تصف الكيان سوف تقرأ من أكس والتنقل خلال العقد XML يدويا. أما الخيار الثالث هو استخدام XML التسلسل وإلغاء تسلسل XML إلى قائمة الكائنات. وهذا يمكن أن تعمل بشكل جيد ما دام لديك الفئات التي يتم الإعداد لها.

والخيار الأسهل سيكون إما لخلق XDocument أو إنشاء DataSet كما اشرتم.

من الواضح XML الخاص بك يحتاج إلى تكون صالحة:)

وبعد ذلك، وتحديد مجموعة بيانات، وتحديد DataGrid قابلة لل. استخدام الأسلوب readXML على بيانات لملء بيانات مع XML الخاصة بك، والانتهاء مع DataBind عناصر وأنت على ما يرام.

DataSet myDataSet = new DataSet();
myDataSet .ReadXml(myXMLString);
myDataGrid.DataSource = myDataSet ; 
myDataGrid.DataBind(); 

ويمكنك ببساطة استخدام الكائن XmlDatasource كمصدر بيانات الشبكة. الذي يسمح لك لتعيين ملف وكسباث، من أجل اختيار XML هذا هو soure البيانات الخاصة بك. يمكنك بعد ذلك استخدام <٪ # كسباث = "بلاه"٪> وظيفة لكتابة البيانات الخاصة بك explicitely، إذا أردت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top