SQLXML 3.0的安装将Microsoft.Data.SqlXml集合装到你的机子上。给项目添加对该集合的一个引用,并用以下代码引入名字空间:using Microsoft.Data.SqlXml;
以下代码连接到数据库,并用SQLXML类来执行SELECT语句:public string ExecuteSqlXmlSelect(
string CustomerID,
string ConnectionString,
bool ClientSide)
{
SqlXmlCommand cmd = new
SqlXmlCommand(ConnectionString);
cmd.RootTag = "Employees";
cmd.ClientSideXml = ClientSide;
cmd.CommandText = "SELECT * FROM
Customers WHERE CustomerID = '" +
CustomerID + "' FOR XML RAW";
XmlReader xr =
cmd.ExecuteXmlReader();
XmlDocument xd = new XmlDocument();
xd.Load(xr);
return xd.OuterXml;
}
该代码所做的第一件事就是通过将连接字符串传递到构造器来创建必要的SqlXmlCommand对象。由FOR XML创建的XML通常是一个XML片段,并不是格式规范的文件。为了使XML格式规范,你必须用RootTag属性在Command对象上设置一个根标签,在本例中设置成“employees”。
SQLXML功能包的以前的版本在将XML返回给客户端前在数据库服务器上构造XML。这会造成可扩展性方面的问题,因为创建的XML没有分布给客户端,所以产生的XML流比默认情况下SQL Server返回的本地二进位数据流要大很多。3.0版本允许SQLXML将数据流作为二进位数据返回给客户端,然后在客户端上将数据转换成XML。