Como todos sabemos, a Microsoft adicionará esquema a cada nó do WebService entregue pelo conjunto de dados, portanto não é compatível com j2ee e flash, então encontrei uma maneira de convertê-los em xml comum. O código é o seguinte:
Método 1:
Classe pública DataSetToXML: Herda System.Web.UI.Page
Private Sub Page_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Manipula MyBase.Load
Dim objConn como SqlConnection
Dim strSql As String
strSql = "SELECIONE TOP 10 * DOS Clientes"
objConn = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim sdaCust As New SqlDataAdapter(strSql, objConn)
Dim dstCust como novo DataSet()
sdaCust.Fill(dstCust, "Clientes")
'Salvar dados em arquivo xml e arquivo de esquema
dstCust.WriteXML(Server.MapPath("Customers.xml"),XmlWriteMode.IgnoreSchema)
dstCust.WriteXMLSchema(Server.MapPath("Clientes.xsd"))
End Sub
Este método serve para escrever um arquivo xml
Método dois:
<WebMethod(Descrição:="Lista de todas as salas de aula")> _
Função pública ListAllRooms() como XmlDocument
Try
m_CpCourseArrange.FillRoomId(m_DsCourseArrange)
'Dim leitor como novo MemoryStream
Dim doc como novo XmlDocument
doc.LoadXml(m_DsCourseArrange.GetXml.ToString)
Retornar documento
Catch ex As Protocols.SoapException
Throw SoapExceptionE.RaiseException("ListAllRooms", " http://tempuri.org/CourseArrange ", ex.Message, "4000", ex.Source, SoapExceptionE.FaultCode.Server)
Finalizar tentativa
Função final
GetXML--Retorna a representação XML dos dados armazenados no DataSet (MSDN).
DemonstrateGetXml() de subcompartilhado privado
'Cria um DataSet com uma tabela contendo duas colunas e 10 linhas.
Dim ds As DataSet = Novo DataSet("meuDataSet")
Dim t As DataTable = ds.Tables.Add("Itens")
t.Columns.Add("id", Type.GetType("System.Int32"))
t.Columns.Add("Item", Type.GetType("System.String"))
' Adiciona dez linhas.
Dim r como DataRow
Dim i como inteiro
Para i = 0 a 9
r = t.NewRow()
r("id") = eu
r("Item")= "Item" & eu
t.Rows.Add(r)
Próximo
'Exibe o conteúdo do DataSet como XML.
Console.WriteLine(ds.GetXml())
Finalizar sub
Parece que você não precisa se preocupar com sua conversão ao passá-lo com conjunto de dados no futuro.