asp.net核心无法从url获取xml数据

Nik*_*ias 1 c# xml asp.net amazon-web-services asp.net-core

我正在使用Amazon API生成对ItemLookup的请求。签署请求后,我得到了一个网址:

http://www.amazon.com/onca/xml? 2016-02-12&Signature = [签名]

我在浏览器中使用的代码,可以看到包含项目数据的漂亮xml,但是当我尝试使用c#获取该数据时,出现错误

Uri参数必须是文件系统相对或绝对路径。

我用来获取数据的方法是:

var itemXml = XElement.Load(url);
Run Code Online (Sandbox Code Playgroud)

如何在C#中获取该xml?

Ale*_*lex 5

这与.net核心无关。

XElement.Load 接受一个字符串-如果您查看智能感知状态,则为:

从文件加载XElement。

这不是你想要的。它正在尝试从文件系统解析URI。

您需要将URL内容读取到流中。

尝试以下

var httpClient = new HttpClient();
var result = httpClient.GetAsync(url).Result;

var stream = result.Content.ReadAsStreamAsync().Result;

var itemXml = XElement.Load(stream);
Run Code Online (Sandbox Code Playgroud)

注意我已经用过.Result-我建议改用await(async / await)模式