У меня есть столбец, данные которого содержат косую черту для обозначения UNC-путей.
При вызове GetXml для набора данных, который содержит эти данные, например:
Item Test\ABC123
Когда вывод выводится, добавляется дополнительная косая черта:
Item Test\\ABC123
Я пробовал замены строк, но они не работают (я понимаю, что они неизменны, и я использую отдельные переменные)
string returnXml = string.Empty;
if (ds.Tables.Count > 0)
{
ds.Namespace = "http://mynamespacehere";
returnXml = ds.GetXml().Replace(@"\\", @"\");
}
return returnXml;
Двойная косая черта сохраняется и вызывает проблемы с другим приложением в дальнейшем. Как я могу удалить их надежно?
Спасибо.
РЕДАКТИРОВАТЬ: Вот следующая функция в стеке, которая передает строку в веб-сервис. Переменная orderXml - это то, что находится в этих заголовках:
string returnMsg;
const string strSoapMessage = @"
<soapenv:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:sc=""http://mycompany.com/xsd/sc_slx"">
<soapenv:Header/>
<soapenv:Body>
<sc:submitSECustomerOrder soapenv:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"">
<input xsi:type=""xsd:string"">
<![CDATA[
{0}
]]>
</input>
</sc:submitSECustomerOrder>
</soapenv:Body>
</soapenv:Envelope>
";
string soapRequestXml = string.Format(strSoapMessage, orderXml);
var req = (HttpWebRequest) WebRequest.Create(new Uri(ConfigurationManager.AppSettings.Get("osmURI")));
req.ContentType = "text/xml; charset=utf-8";
req.Method = "POST";
req.Accept = "text/xml";
req.Headers.Add("SOAPAction", ConfigurationManager.AppSettings.Get("osmSoapAction"));