我正在开发一个调用 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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句