URL的XML-根级别的数据无效。第1行,位置1为什么使用一个网址而不使用另一个网址?

问题描述 投票:0回答:1

据我所知,这两个端点都是有效的XML输出。但是,当我在第二个端点上使用相同的代码时,出现错误:

根级别的数据无效。第1行,位置1

这是我的代码:

        //Works
        XmlDocument testDocument = new XmlDocument();
        testDocument.Load("https://www.w3schools.com/xml/note.xml");

        //Fails
        XmlDocument testDocumentTwo = new XmlDocument();
        testDocumentTwo.Load("https://www.domainNameHere.com/direct/umbraco/api/productsearch/NameSearch?countryCode=en-gb");
c# xml xml-parsing xmldocument xmlreader
1个回答
1
投票

我打开了Fiddler并观看了请求及其响应,发现您的端点正在返回JSON,而不是XML:

Fiddler screenshot, showing result is JSON

如果我使用HttpClient设置一个显式的Accept标头,那么我会得到XML,并且一切正常:

using var client = new HttpClient();
var requestMessage = new HttpRequestMessage(HttpMethod.Get, "https://www.clinigengroup.com/direct/umbraco/api/productsearch/NameSearch?countryCode=en-gb");
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
var response = await client.SendAsync(requestMessage);
var xml = await response.Content.ReadAsStringAsync();

XmlDocument testDocumentTwo = new XmlDocument();
testDocumentTwo.LoadXml(xml);
© www.soinside.com 2019 - 2024. All rights reserved.