转换DataSet到普通xml的新法

xml|转换

大家知道,用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传递的时候也不用为它的转换发愁了。

时间: 2024-10-27 11:12:44

转换DataSet到普通xml的新法的相关文章

XML基础之 DataSet加载XML数据文件

xml|加载|数据 在开发系统时,经常会有通过Code获取其Description,例如由错误号码获取错误信息. 这些错误信息可以存放到XML数据文件中,通过DataSet对象进行读取. 下面是读取的函数:   public string GetError(int ErrorId)  {   //在进行错误显示时,可以将错误号对应的文本描述放到一个XML   //文件中.这是支持多语言的一种通用方法.   //本示例从一个xml文件中取出数据,并获取指定ID号的错误描述.    string f

如何把DataSet保存为XML文件

xml XML和.NET是完全融合的,很多.NET的服务器控件都具备了一种或更多种创建XML文件的能力,DataSet类就包含若干种创建XML文件的方法,在这篇文章中,我们将创建DataSet与XML之间的连接的例子,而这个例子的作用就是从数据库里读出数据填入DataSet对象中,然后再从DataSet对象输出为XML文件保存到磁盘里,当然了 ,我们还可以为XML文件创建与它相关的schema文件.   把DataSet保存为XML文件中的asp.net页面文件(.aspx),简单的甚至可以用可

编码-用dataset.readxml读取xml,有多个table,怎么把这些数据汇到一个table?

问题描述 用dataset.readxml读取xml,有多个table,怎么把这些数据汇到一个table? 用dataset.readxml读取xml,由于有多个级别,直接读取会有多个table,怎么把这些数据汇到一个table? 最终想按下面图输出到excel 解决方案 循环自己手动拼成datarow ,最后构建成table

asp.net 将dataset转化为XML并输出

asp教程.net 将dataset转化为xml并输出 xmltextwriter writer = new xmltextwriter(response.outputstream, response.contentencoding);   ds.writexml(writer);   writer.flush();   response.end();   writer.close();

请教DATASET导出导入XML文件速度快,还是导入导出EXCEL文件效率快?

问题描述 对于一个最多有30万行数据的SQLSERVER表,请问以上哪种方式效率高? 解决方案 解决方案二:应该是直接从dataset保存为xml快解决方案三:导出的话.xml比较快吧.导入的话,30万条我想都会死的!如果是导入很大数据量的话,可以用bcp命令导入,可以参考我的blog,BCP导入大量数据http://www.cnblogs.com/mqcan/archive/2008/03/07/1095361.html解决方案四:30万条?估计EXCEL就要跑死了-呵呵--解决方案五:liu

把dataset作为一个xml文件传给客户端

xml|客户端   把它直接放在内存中,然后传给客户端 // 创建MemeoryStreamSystem.IO.MemoryStream ms = new System.IO.MemoryStream(); // 写dataset到MemeoryStream dataset1.WriteXml(ms,System.Data.XmlWriteMode.IgnoreSchema); // 写dataset到MemeoryStream dataset1.WriteXml(ms,System.Data.

100分求解 我郁闷啊为什么dataset 写的xml文件却无法读取呢???

问题描述 datasetread;read=get_dataset("select*fromuser")read.WriteXml(Server.MapPath("Findxml/xml.xml"));以上写成一个xml文件,没有问题(确实生成了这个文件,文件里的代码也没有问题)但是这里read.ReadXml(Server.MapPath("Findxml/xml.xml"));怎么就错了呢,提示我为将对象引用到实例请高手指点为什么会出现这个问

如何将dataset中的XML数据写入到DB2 v9.5的XML列中?

问题描述 问题描述如下:编程环境:.net2005数据库:db2v9.5如何将一个已经存在的XML文档写入到db2v9.5中去?或者先将XML文档读入DataSet中(很简单,大家不用在此浪费时间.),再从DataSet中写入到db2v9.5中去(可行吗?如果可行,如何实现?)?insertinttablename(id,contactinfo)values(1,文件名.xml);上面的insert语句可以在.net中实现吗?红色的部分不用具体数据,而是通过引用一个XML文件来向db2中写数据.

如何把Recordset转换成彩色的XML文件_编程10000问

<%@ codepage="65001" %> <!-- #INCLUDE FILE="ADOVBS.INC" --> <% Response.ContentType = "text/xml" ' 如果不在 adovbs.inc 里,则设置一个常量.  <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu