كيفية تحميل سلسلة XML في التعليمات البرمجية الموجودة خلف عناصر تحكم واجهة المستخدم المرتبطة بالبيانات والتي ترتبط بـ XPath الخاص بـ XML؟

StackOverflow https://stackoverflow.com/questions/60259

سؤال

تستخدم كل عينة رأيتها لغة XML ثابتة في مصدر xmldataprovider، والتي يتم استخدامها بعد ذلك لربط عناصر تحكم واجهة المستخدم باستخدام ربط XPath.تتمثل الفكرة في تحرير XML ديناميكي (بنية معروفة للمطور أثناء البرمجة)، باستخدام واجهة مستخدم WPF.

هل وجد أي شخص طريقة لتحميل سلسلة xml ديناميكية (على سبيل المثال، تحميلها من ملف أثناء وقت التشغيل)، ثم استخدام سلسلة xml هذه كمصدر XmlDataprovider؟

مقتطفات التعليمات البرمجية ستكون رائعة.

تحديث:لجعل الأمر أكثر وضوحًا ، لنفترض أنني أريد تحميل سلسلة XML التي تلقيتها من مكالمة خدمة الويب.أنا أعرف بنية ملف XML.لذلك أقوم بربطها بعناصر تحكم WPF UI في نافذة WPF.كيفية جعل هذا العمل؟تحدد جميع العينات عبر الويب XML بالكامل داخل كود XAML في عقدة XmlDataProvider.هذا ليس ما أبحث عنه.أرغب في استخدام سلسلة XML في التعليمات البرمجية الخلفية ليتم ربط البيانات بعناصر تحكم واجهة المستخدم.

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

المحلول

إليك بعض التعليمات البرمجية التي استخدمتها لتحميل ملف XML من القرص وربطه بـ TreeView.لقد قمت بإزالة بعض الاختبارات العادية للإيجاز.XML الموجود في المثال هو ملف OPML.

XmlDataProvider provider = new XmlDataProvider();

if (provider != null)
{
  System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
  doc.Load(fileName);
  provider.Document = doc;
  provider.XPath = "/opml/body/outline";
  FeedListTreeView.DataContext = provider;
}

نصائح أخرى

باستخدام خدمة الويب الخاصة بك، احصل على XML الخاص بك وقم بإنشاء مستند XML منه، ويمكنك بعد ذلك تعيين مصدر xmlDataProvider الخاص بك إلى XMLDocument الذي حصلت عليه من الخدمة.

أنا لست على جهاز كمبيوتر به استوديو مرئي لاختباره ولكن من المفترض أن يكون من الممكن لك القيام بذلك.

الخطوات كما ذكرت في سؤالك:

1. Get XML from webservice
2. Convert XML String to XML Document
3. Set the XMLDataProvider.Document value to your XML Document
4. Bind that to your controls
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top