Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从存储过程返回的XML反斜杠_C#_Sql_Xml_Escaping - Fatal编程技术网

C# 从存储过程返回的XML反斜杠

C# 从存储过程返回的XML反斜杠,c#,sql,xml,escaping,C#,Sql,Xml,Escaping,我编写了一个存储过程,它使用以下语法以XML形式返回我的行: FOR XML PATH ('customer'), ROOT ('customers'), TYPE 从SSMS中的存储过程运行查询会生成一个输出,当单击该输出时,看起来很好 但是,从C#调用该存储过程会得到我假设有双引号的XML,因此: <customers><customer id=\"123456\" firstName=\"ABE\" lastName=\"LINCOLN\" dob=\"02/12/18

我编写了一个存储过程,它使用以下语法以XML形式返回我的行:

FOR XML PATH ('customer'), ROOT ('customers'), TYPE
从SSMS中的存储过程运行查询会生成一个输出,当单击该输出时,看起来很好

但是,从C#调用该存储过程会得到我假设有双引号的XML,因此:

<customers><customer id=\"123456\" firstName=\"ABE\" lastName=\"LINCOLN\" dob=\"02/12/1809\">
我这里出了什么错

提前谢谢

我这里出了什么错

我怀疑您只是在调试器中检查字符串,调试器通常会转义字符串,就好像您想将其作为C#string文本编写一样


尝试记录字符串(例如,简单到将其写入控制台),我怀疑您会发现这些反斜杠根本不存在。

是否有错误?或者您只是看到调试器转义字符串的方式吗?看起来就是这样。谢谢。@DerPflug:如果按enter键并在“监视”窗口中突出显示值,则会弹出一个“文本可视化工具”窗口,显示字符串而不转义。
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;
}