1) 方法一:利用XmlReader,以流的方式生成
例:
For XML 的
SQL 语句表达式:
SELECT…
FROM…
WHERE…
ORDER BY…
FOR XML (raw | auto [, ELEMENTS] |
explicit)
[, XMLData]
[, BINARY base64])
“for xml raw”与“for xml auto”的区别:
n for xml raw:
¨ 在结果集中每一行有一个
¨ 没有嵌套的子元素
¨ 在结果集中的列/值表示成
¨ 和数据库的结果集很类似,但表示成XML 格式,很容易转换
n for xml auto
¨ 数据库中的表/视图名表示成元素名
¨ 列名用来表示特性,如果加ELEMENTS 选项,列表示成子元素
¨ 支持嵌套的 XML 输出结果,结果集中的层次结构(元素的嵌套)基于 SELECT 子句中指定的列所标识的表顺序
¨ 可以用表和列别名来改变元素和特性名
2) 方法二:利用DataSet,以块的方式生成
3) 方法一与方法二的比较
n 方法一适合小批量的数据查询,当数据量较大的时候,方法二的速度会快些。
n 对 web 服务器资源要求:方法一低,方法二高。