我编写了一个存储过程,它使用以下语法将我的行作为 XML 返回:
FOR XML PATH ('customer'), ROOT ('customers'), TYPE
从 SSMS 中的存储过程运行查询会产生输出,单击时看起来很好。
但是,从 C# 调用该存储过程会给我 XML,我认为它具有被转义的双引号,因此:
<customers><customer id=\"123456\" firstName=\"ABE\" lastName=\"LINCOLN\" dob=\"02/12/1809\">
我的 C# 代码如下所示:
public string GetCustomerXML()
{
string xml = string.Empty;
XmlDocument xmlDoc = new XmlDocument();
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
myConnection.Open();
using (SqlCommand cmd = new SqlCommand("GetData_CreateXML", myConnection))
{
cmd.CommandType = CommandType.StoredProcedure;
using (XmlReader reader = cmd.ExecuteXmlReader())
{
while (reader.Read())
{
xmlDoc.Load(reader);
xml = xmlDoc.OuterXml.ToString();
}
}
}
}
return xml;
}
我在这里做错了什么?
提前致谢。