我想弄清楚如何正确序列化我的XmlDocument并通过HTTPWebRequest对象发送它。序列化XmlDocument&通过HTTPWebRequest发送
这里是我迄今:
Stream requestStream;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://wwwcie.ups.com/ups.app/xml/Track");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.Length;
requestStream = request.GetRequestStream();
XmlSerializerNamespaces xsm = new XmlSerializerNamespaces();
xsm.Add("", ""); // remove namespace
XmlSerializer ser = new XmlSerializer(xmlRequest.GetType());
ser.Serialize(requestStream, xmlRequest);
requestStream.Write(postData, 0, postData.Length);
requestStream.Close();
有几件事情,我不确定。我有两个XmlDocuments我需要在相同的HTTPWebRequest中发送。我已经尝试过给XMLDocuments转换为字符串,只是将它们连接起来(发送字符串),但是当我用的StringBuilder /写它补充说:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://myNameSpace/">
我已经在我的XmlDocument声明所以现在反对它在那里两次,我不能有<string...
部分在那里。将XmlDocuments转换为字符串然后将它们连接起来并发送它或者是否有一种简单的方式来发送XmlDocuments?
编辑:
见C# XmlDocument Nodes 当我尝试我XmlDocuments的一个转换为字符串它显示为
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://myNamespace/">
<TrackRequest>
<Request>
<TransactionReference>
<CustomerContext>whatever</CustomerContext>
</TransactionReference>
</Request>
<TrackingNumber>123</TrackingNumber>
</TrackRequest>
</string>
我想我的根是<TrackRequest>
你可以显示你想要的XML看起来像什么吗?您无法连续发送两个文档 - 需要有一个根元素。 – 2009-07-09 16:57:14