我正在开发一个 ASP.NET MVC 应用程序。我需要向一个服务发送 RESTful 请求。在这种特殊情况下,我必须使用 POST 将 XML 发送到服务。我们没有使用 WCF。
XML 在一个XElement
对象中。原始 XML 包含字符编码信息。当我将 XML 写入服务时,我想保持字符编码不变。
我可以使用如下代码获取对请求流的引用:
HttpWebRequest req = (HttpWebRequest) WebRequest.Create( url );
req.Method = "POST";
req.Timeout = 30000;
Stream requestStream = req.GetRequestStream();
我写了这段代码:
using ( XmlWriter writer = new XmlTextWriter( requestStream, Encoding.UTF8 ) ) {
xml.WriteTo( writer );
}
但这可能会改变 XML 的编码。重要的是编码不会改变。我似乎找不到返回编码的属性或方法XElement.
如何写入XElement
并requestStream
保留现有的字符编码?