设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

转换DataSe t到普通xml的新法

作者:佚名 出处:网络转载 时间:12-20 点击:

内容载入中...
     大家知道,用dataset传递的WebService,微软会在各个节点加上schema,所以无法与j2ee,Flash兼容,所以我找到了一种转换他们变成普通XML的方法。代码如下:
  
  方法一:
  Public Class DataSetToXML : Inherits System.Web.UI.Page
  
   Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   Dim objConn As SqlConnection
   Dim strSql As String
  
   strSql = "SELECT TOP 10 * FROM Customers"
   objConn = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  
   Dim sdaCust As New SqlDataAdapter(strSql, objConn)
   Dim dstCust As New DataSet()
  
   sdaCust.Fill(dstCust, "Customers")
   'Save data to XML file and schema file
   dstCust.WriteXML(Server.MapPath("Customers.XML"),XMLWriteMode.IgnoreSchema)
   dstCust.WriteXMLSchema(Server.MapPath("Customers.xsd"))
   End Sub
  
  这种方法是写入一个XML文件
  
  
  方法二:
   <WebMethod(Description:="所有教室列表")> _
   Public Function ListAllRooms() As XMLDocument
  
   Try
   m_CpCourseArrange.FillRoomId(m_DsCourseArrange)
   'Dim reader As New MemoryStream
  
  
   Dim doc As New XMLDocument
   doc.LoadXML(m_DsCourseArrange.GetXML.ToString)
   Return doc
  
   Catch ex As Protocols.SoapException
   Throw SoapExceptionE.RaiseException("ListAllRooms", "http://tempuri.org/CourseArrange", ex.Message, "4000", ex.Source, SoapExceptionE.FaultCode.Server)
   End Try
   End Function
  
  
  GetXML--Returns the XML representation of the data stored in the DataSet. (MSDN)
  
  
  Private Shared Sub DemonstrateGetXML()
   ' Create a DataSet with one table containing two columns and 10 rows.
   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"))
  
   ' Add ten rows.
   Dim r As DataRow
   Dim i As Integer
   For i = 0 To 9
   r = t.NewRow()
   r("id") = i
   r("Item")= "Item" & i
   t.Rows.Add(r)
   Next
  
   ' Display the DataSet contents as XML.
   Console.WriteLine( ds.GetXML() )
  End Sub
  
  
  看来以后用dataset传递的时候也不用为它的转换发愁了。
  
    。

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息