簡體   English   中英

URL 中的 XML - 根級別的數據無效。 第 1 行,位置 1 為什么它適用於一個 URL 而不是另一個?

[英]XML from URL - Data at the root level is invalid. Line 1, position 1 Why it works with one URL and not the other?

據我所知,這兩個端點都是有效的 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");

我打開了 Fiddler 並觀察了請求及其響應,瞧,您的端點返回的是 JSON,而不是 XML:

Fiddler 截圖,顯示結果為 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM