Как мы все знаем, Microsoft добавит схему к каждому узлу веб-службы, предоставляемой набором данных, поэтому она несовместима с j2ee и flash, поэтому я нашел способ преобразовать их в обычный xml. Код выглядит следующим образом:
Способ 1:
Открытый класс DataSetToXML: наследует System.Web.UI.Page
Private Sub Page_Load (отправитель ByVal As System.Object, ByVal e As System.EventArgs) Обрабатывает MyBase.Load
Dim objConn как SqlConnection
Dim strSql As String
strSql = «ВЫБРАТЬ ТОП-10 * ОТ клиентов»
objConn = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim sdaCust As New SqlDataAdapter(strSql, objConn)
Dim dstCust As New DataSet()
sdaCust.Fill(dstCust, «Клиенты»)
'Сохраняем данные в XML-файл и файл схемы
dstCust.WriteXML(Server.MapPath("Customers.xml"),XmlWriteMode.IgnoreSchema)
dstCust.WriteXMLSchema(Server.MapPath("Customers.xsd"))
End Sub.
Этот метод предназначен для записи XML-файла.
Способ второй:
<WebMethod(Description:="Список всего класса")> _
Открытая функция ListAllRooms() в качестве XmlDocument.
Попробуйте
m_CpCourseArrange.FillRoomId(m_DsCourseArrange)
'Dim Reader как новый MemoryStream
Сделать документ как новый XmlDocument
doc.LoadXml(m_DsCourseArrange.GetXml.ToString)
Вернуть документ
Catch ex As 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 = Новый набор данных («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"))
' Добавляем десять строк.
Dim r как DataRow
Тусклый я как целое число
Для я = от 0 до 9
г = t.NewRow()
г("id") = я
r("Предмет") = "Предмет" & я
t.Rows.Add(r)
Next
' Отображение содержимого DataSet в формате XML.
Console.WriteLine(ds.GetXml())
Конец субтитра
Кажется, вам не придется беспокоиться о его преобразовании при передаче его с набором данных в будущем.