أولاً، دعونا نتحدث عن الغرض من مثالنا - السماح لقاعدة البيانات بإخراج XML واستدعائه ضمن نظام .net.
تستخدم طبقة البيانات في هذا النظام قاعدة بيانات خادم SQL، ويمكن تنفيذ الطبقة الوسطى باستخدام أداة "تكوين دعم SQL XML في IIS" التي تأتي مع SQL. حسنًا، سنقوم الآن بذلك أولاً، قم بتكوين SQL لإخراج XML:
قد يبدو هذا الشيء غامضًا بعض الشيء، ولكنه في الواقع يضيف فقط: FOR XML AUTO بعد عبارة الاستعلام العادية.
أعط مثالا:
حدد أفضل 100 موضوع، الاسم، الوقت
من bbs حيث [order]=1 ORDER BY [Time] DESC
FOR XML AUTO
في محلل استعلام SQL، ستجد أن الإخراج لم يعد الجدول الذي نفكر فيه تقليديًا، بل عدة صفوف من سلاسل طويلة جدًا، والمحتوى هو رمز XML الذي نحتاجه.
بهذه الطريقة، الخطوة الأولى هي السماح لـ SQL بإخراج XML.
ثم نبدأ خطوتنا الثانية، بحيث يمكن استدعاء ملف XML باستخدام الويب.
بعد تصحيح الأخطاء بنجاح، يمكنك إنشاء ملف: على سبيل المثال،
محتوى aaa.xml كما يلي:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<اس كيو ال: استعلام>
اختر أفضل 100 موضوع، الاسم، الوقت
من bbs حيث [order]=1 ORDER BY [Time] DESC
لـ XML التلقائي
</sql:query>
</ROOT>
أنشئ دليل bbb في المجلد c: وضعه فيه.
الجزء الأوسط هو بيان SQL التقليدي الخاص بنا، والتغليف الأمامي والخلفي هو تنسيقنا المشترك.
ضع هذا الملف في دليل عشوائي، ثم افتح "تكوين دعم SQL XML في IIS" الخاص بـ SQL وأنشئ دليلًا ظاهريًا على الموقع الذي يتطلب دعم XML، لنسميه ccc. المسار المحلي هو بطبيعة الحال c: bbb.
ثم انقر فوق الأمان - أدخل اسم مستخدم وكلمة مرور SQL، ثم مصدر البيانات، وهو موقع قاعدة البيانات وقاعدة البيانات الافتراضية.
ثم انقر فوق "الإعدادات"، وحدد "السماح بالاستعلام عن القالب"، ثم انقر فوق "الاسم الظاهري"، وانقر فوق "نوع جديد" وأطلق عليه اسم القالب.
ddd، الملف المقابل هو aaa.xml الخاص بنا.
ثم افتحه في IE: http://your Machine name/ccc/ddd
ماذا رأيت؟ نعم، إنه المحتوى الناتج بواسطة ملف xml الخاص بك أثناء استعلام SQL.
ما ليس الإخراج؟ افتح "مدير خدمات معلومات الإنترنت (IIS)" وحدد "خدمات امتداد الويب"،
ثم حدد "جميع ملحقات ISAP غير المعروفة" للسماح بها. هل هو بخير الآن؟
حسنًا، الآن تأتي الخطوة الأكثر أهمية، الخطوة 3 - كيفية استدعاء ملف XML الذي تم إنشاؤه ديناميكيًا في VS.net.
نحتاج أولاً إلى إنشاء مجموعة بيانات فارغة غير منظمة 1، ثم في الكود المصدري this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
أضف this.dataSet1.ReadXml("http://your Machine name/ccc/ddd");
تهانينا، يمكنك الآن استخدام ملف XML الذي تم إنشاؤه ديناميكيًا كمجموعة بيانات للقراءة فقط.