GetXml方法为元素数据添加额外的斜杠

时间:2012-02-19 18:34:38

标签: c# .net xml string dataset

我有一个列,其数据包含斜杠以表示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;

双斜线持续存在并导致下游另一个应用程序出现问题。如何可靠地删除它们?

感谢。

编辑:这是堆栈中的下一个将字符串传递给Web服务的函数。变量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"));

0 个答案:

没有答案