[英]How to add a XML request on the body of Restsharp call
我正在开发一个调用API的软件,我必须向该API发送XML请求以获取更多数据。
我已经尝试过request.AddXmlBody(nextID)
但是它不起作用,我也尝试过request.AddParameter("text/xml", nextID, ParametreType.RequestBody )
,但出现错误:XML异常,缺少根元素。
var client = new RestClient("https://xxxxxxxxxxxxx.xxx");
client.Authenticator = new HttpBasicAuthenticator("xxxxx", "xxxx");
var request = new RestRequest("/xx/xxx/xx/xx/xxxxx", Method.GET);
string nextID = "<?xml version=\"1.0\" encoding=\"UTF - 8\" ?>< ServiceRequest > < filters > < Criteria field = \"id\" operator= \"GREATER\" > 13782472 </ Criteria ></ filters ></ ServiceRequest > ";
request.AddHeader("X-Requested-With", "RestSharp");
request.AddParameter(nextID);
IRestResponse response = client.Execute(request);
var xml_text = response.Content;
string xq1 = "//*[contains(text(),'XXX')]/..";
XmlDocument xd = new XmlDocument();
xd.LoadXml(xml_text);
我想将字符串nextID
添加到请求的主体中以获取所需的文件。
感谢@jdweng,我在字符串上的多余空间是我的错误。
此代码有效:
string nextID = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ServiceRequest> <filters> <Criteria field = \"id\" operator=\"GREATER\"> 13782472 </Criteria></filters></ServiceRequest>";
request.AddHeader("X-Requested-With", "RestSharp");
request.AddParameter("text/xml", nextID, ParameterType.RequestBody);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.