1
我正在编写一个简单的XML Web服务,并希望返回原始XML。我通过创建一个表示XML的字符串来实现这一点。我的数据源是一个包含存储过程调用结果的SqlDataReader对象。我现在正在做它的方式是使用while循环和读取值从项目属性,象这样:Ado.net遍历SqlDataReader行中的每一列
'string builder to create the literal
Dim sb As New StringBuilder()
sb.Append("<?xml version='1.0' encoding='ISO-8859-1'?>")
sb.Append("<members>")
'dr is an instance of SqlDataReader
While (dr.Read())
sb.Append("<member>")
sb.Append(String.Concat("<PersonnelID>", dr.Item("PersonnelID"), "</PersonnelID>"))
sb.Append(String.Concat("<FirstName>", dr.Item("FirstName"), "</FirstName>"))
sb.Append("</member>")
End While
sb.Append("</members>")
的问题有过被从存储过程和写作各自回到了十几场他们似乎没有效率。有没有一种方式,通过每一行获取列名和值进行迭代,所以我可以做这样的事情:
sb.Append(String.Concat("<",ColName,">", dr.Item(ColName), "</",ColName,">"))
任何人都可以建议我怎么能做到这一点?谢谢!