كما نعلم جميعًا، ستضيف Microsoft مخططًا إلى كل عقدة من خدمة الويب التي يتم تسليمها بواسطة مجموعة البيانات، لذلك فهو غير متوافق مع j2ee وflash، لذلك وجدت طريقة لتحويلهما إلى ملف xml عادي. الكود كما يلي:
الطريقة الأولى:
فئة عامة DataSetToXML: يرث System.Web.UI.Page
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) يعالج MyBase.Load
خافت objConn باسم SqlConnection
Dim strSql As String
strSql = "اختر أفضل 10 * من العملاء"
objConn = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim sdaCust As New SqlDataAdapter(strSql, objConn)
تعتيم dstCust كـ New DataSet()
sdaCust.Fill(dstCust, "Customers")
'حفظ البيانات في ملف XML وملف المخطط
dstCust.WriteXML(Server.MapPath("Customers.xml"),XmlWriteMode.IgnoreSchema)
dstCust.WriteXMLSchema(Server.MapPath("Customers.xsd"))
End Sub
هذه الطريقة هي كتابة ملف xml
الطريقة الثانية:
<WebMethod(Description:="قائمة كافة الفصول الدراسية")> _
قائمة الوظائف العامةAllRooms() أثناء
محاولة
XmlDocument
m_CpCourseArrange.FillRoomId(m_DsCourseArrange)
'قارئ خافت كـ MemoryStream الجديد
Dim doc كمستند Xml جديد
doc.LoadXml(m_DsCourseArrange.GetXml.ToString)
قم بإرجاع doc
Catch ex كـ Protocols.SoapException
رمي SoapExceptionE.RaiseException("ListAllRooms"، " http://tempuri.org/CourseArrange "، ex.Message، "4000"، ex.Source، SoapExceptionE.FaultCode.Server)
إنهاء المحاولة
وظيفة النهاية
GetXML--إرجاع تمثيل XML للبيانات المخزنة في DataSet (MSDN).
العرض الفرعي المشترك الخاص DemonstrateGetXml()
'قم بإنشاء DataSet بجدول واحد يحتوي على عمودين و10 صفوف.
Dim ds As DataSet = New DataSet("myDataSet")
Dim t As DataTable = ds.Tables.Add("Items")
t.Columns.Add("id"، Type.GetType("System.Int32"))
t.Columns.Add("Item", Type.GetType("System.String"))
' أضف عشرة صفوف.
خافت r كـ DataRow
خافت ط كعدد صحيح
لأني = 0 إلى 9
ص = ر. نيورو ()
ص("معرف") = أنا
r("العنصر")= "العنصر" & i
ر.الصفوف.إضافة(ص)
التالي
' عرض محتويات DataSet بتنسيق XML.
Console.WriteLine(ds.GetXml())
نهاية الفرعية
يبدو أنه لا داعي للقلق بشأن تحويله عند تمريره مع مجموعة البيانات في المستقبل.